Commit Graph

196 Commits (bd66f83663386359f3acfd936c1f3eceb323f8f7)

Author SHA1 Message Date
Axel Burri e879620195 change version to 0.27.1 2018-12-05 22:18:19 +01:00
Axel Burri 0e6c1f9025 btrbk: fix regression: call "sudo readlink" for backend=btrfs-progs-sudo
It is possible that the subvolume path is not accessible by the user
calling btrbk. When resolving mount points, "readlink" is used on the
path, which also needs to be wrapped with "sudo".
2018-12-05 22:01:07 +01:00
Axel Burri c59488f405 change version to 0.27.0 2018-10-16 12:19:44 +02:00
Axel Burri 56ee8acf3b btrbk: add "-S" command line option (shortcut for --print-schedule) 2018-10-15 16:25:07 +02:00
Axel Burri 5c434bc197 documentation: cosmetics: delete trainling whitespace 2018-10-13 13:44:04 +02:00
Axel Burri ad20b9a360 documentation: btrbk.1: explain root privileges and snapshot/backup terminology 2018-10-13 13:29:14 +02:00
Axel Burri 37def3dc7e documentation: btrbk.conf.5: adaptions for backend and ssh_user option (cosmetics) 2018-10-13 13:29:14 +02:00
Axel Burri f554a36978 documentation: adaptions for asciidoctor (literal blocks) 2018-10-13 13:29:14 +02:00
Axel Burri c2a344fed1 documentation: move installation instructions from README.md to doc/install.md 2018-10-13 13:29:08 +02:00
Axel Burri 756e1e9449 documentation: remove broken link to gmane (received_uuid patch in kernel 4.4)
gmane is dead, see kernel patch:

b96b1db039 btrfs: fix resending received snapshot with parent
2018-10-11 16:03:31 +02:00
Axel Burri c087082543 documentation: btrbk.1.asciidoc: add notes on propagation of filter statements 2018-10-09 15:21:30 +02:00
Axel Burri 1862bc16d3 documentation: btrbk.1.asciidoc: add note about "prune": source/target must be accessible
Related to: c65f937473
2018-08-27 15:50:36 +02:00
Axel Burri 069304f3bb btrbk: use system_list_mountinfo(), remove system_list_mounts(); rename fs_spec -> mount_source
Reasons for changing to `cat /proc/self/mountinfo`:
 - `/proc/self/mounts` (or `/proc/mounts`) lacks extra info
   (namespaces) and is not documented in kernel (deprecated?).
 - findmnt(8) also uses /proc/self/mountinfo

Refs:
 - https://www.kernel.org/doc/Documentation/filesystems/proc.txt
 - https://bugzilla.redhat.com/show_bug.cgi?id=491924
 - https://git.kernel.org/pub/scm/linux/kernel/git/bwh/linux-stable.git/commit/?id=2d4d4864ac08caff5c204a752bd004eed4f08760
2018-08-27 14:54:32 +02:00
Paride Legovini 3dc06c8067 documentation: btrbk.conf.5: clarify behavior of 'snapshot_create ondemand' when there are multiple targets 2018-07-30 03:28:18 +02:00
Axel Burri 5b1b99c4ed documentation: btrbk.conf.5: add explanation on hostname and caches 2018-07-12 18:26:35 +02:00
Axel Burri c2022a5b2f documentation: add text for "subvolume ." configuration 2018-07-09 16:13:00 +02:00
Axel Burri 2f95baf6f3 documentation: adaptions for asciidoctor (ifdefs, literal blocks)
When using asciidoctor, backend "manpage" (-b manpage) is used, while
a2x converts asciidoc to docbook (xml), then manpage.

Asciidoctor creates ugly indentation for [literal] blocks in SYNOPSIS,
use [verse] instead.
2018-06-25 20:49:24 +02:00
Axel Burri 3e9066337a documentation: fallback to asciidoctor if asciidoc (a2x) is not present
Asciidoc is EOL and only supports python2. Provide a fallback to
Asciidoctor for manpage generation.

Reference: https://github.com/digint/btrbk/pull/219
2018-06-25 20:46:00 +02:00
Axel Burri 1d0d57ffac documentation: btrbk.conf.5: add more text on file names and urls 2018-05-31 00:36:46 +02:00
Axel Burri ffba3e47c6 documentation: ssh_filter_btrbk.1.asciidoc: fixes, cleanup
- add add "always allowed" commands (as bullet list)
- remove deprecated "-c, --compress"
2018-05-15 00:06:53 +02:00
Axel Burri c65f937473 documentation: btrbk.1.asciidoc: add note about snapshot deletion for action "snapshot" 2018-04-16 12:27:54 +02:00
Axel Burri e9c30e91fb documentation: btrbk.conf.5.asciidoc: enhance text on retention policy options 2018-04-05 18:00:29 +02:00
Thiodwitnir 5791d72171 btrbk: add "preserve_hour_of_day" configuration option
Introduces the new config option "preserve_hour_of_day" to specify
after what time backups should be considered as dailies.

Based on pull request #204, with changes:
 - calculation of weekly backups
 - change format of preserve_matrix
2018-04-05 16:37:31 +02:00
Axel Burri 1fd3a547df change version to 0.26.1; bump copyright year 2018-03-05 11:55:56 +01:00
Axel Burri 1cf004533c documentation: replace subvolid=0 with subvolid=5 2018-03-05 11:33:08 +01:00
Axel Burri 8610e75459 btrbk: add archive_exclude configuration option
Support wildcard characters, matches against both "$sroot->{PATH}" and
"$sroot->{PATH}/$snapshot_name".
2018-02-13 22:50:23 +01:00
Axel Burri 0ebe2ea2e1 btrbk: add "allow_multiple" flag for config_options declaration; use for option "group" 2018-02-13 19:30:24 +01:00
Axel Burri a835241ccf documentation: btrbk.1.asciidoc: add note about listing all snapshots for "btrbk list snapshots" 2018-02-03 13:18:19 +01:00
Axel Burri 308444f3ed documentation: FAQ.md: add warning on "dd" usage for disk cloning 2018-01-20 18:05:33 +01:00
Axel Burri 659b7de82f doc/btrbk.conf.5.asciidoc: fix spelling 2017-10-12 17:07:05 +02:00
Axel Burri 79cbf7c0c3 change version to 0.26.0 2017-10-12 00:39:06 +02:00
Axel Burri c445b32459 doc/Makefile: use a2x --no-noxmllint for man page conversion 2017-10-12 00:39:06 +02:00
Axel Burri 780ef57895 documentation: remove experimental status of option "stream_buffer" 2017-10-11 20:54:41 +02:00
Axel Burri d941ecfce9 documentation: change digint links to https:// 2017-10-11 20:54:41 +02:00
Axel Burri 15dde32126 documentation: fix broken links 2017-10-11 20:54:41 +02:00
Axel Burri fdba94f8c7 documentation: btrbk.1.asciidoc: add action command / result matrix 2017-10-11 20:54:41 +02:00
Axel Burri c44c83bc33 Makefile: call doc/Makefile for installing files from "doc/" folder; use more variables 2017-10-11 20:54:41 +02:00
Axel Burri c26b7d3748 doc/Makefile: generate man pages from asciidoc 2017-10-11 20:54:41 +02:00
Axel Burri 2042c6ccd9 documentation: ssh_filter_btrbk.1.asciidoc: use "ssh_filter_btrbk" (without ".sh") in name section, as this is used as the output filename for asciidoc 2017-10-11 20:54:41 +02:00
Axel Burri c70e9bb757 documentation: ssh_filter_btrbk.1.asciidoc: cleanup 2017-10-11 20:54:41 +02:00
Axel Burri 0231051162 documentation: btrbk.1.asciidoc: cleanup 2017-10-11 20:54:26 +02:00
Axel Burri 3df8984337 documentation: btrbk.conf.5.asciidoc: change options subsections; cosmetics 2017-10-11 18:54:41 +02:00
Axel Burri 43399be0db documentation: btrbk.conf.5.asciidoc: add short descriptions for target raw options 2017-10-11 18:05:51 +02:00
Axel Burri c4ced9d6e4 documentation: convert all groff files (man pages) to asciidoc
- btrbk.conf.5 to btrbk.conf.5.asciidoc
 - btrbk.1 to btrbk.1.asciidoc
 - ssh_filter_btrbk.1 to ssh_filter_btrbk.1.asciidoc
2017-10-11 18:04:25 +02:00
Axel Burri e9a517f161 btrbk: add options "{snapshot,target,archive}_qgroup_destroy": destroy qgroups whenever a subvolume is deleted
Btrfs does not destroy qgroups when subvolumes are deleted (see
https://bugzilla.kernel.org/show_bug.cgi?id=91751). As a workaround
for this, btrbk can be configured to always destroy the corresponding
default qgroup "0/<subvol-id>" whenever a subvolume (snapshot, backup
or archive) is deleted.

Added configuration options:
 - snapshot_qgroup_destroy
 - target_qgroup_destroy
 - archive_qgroup_destroy
2017-10-02 16:23:23 +02:00
Axel Burri a5aaffa5b5 documentation: add "prune" to list of affected commands by several options 2017-10-02 13:44:35 +02:00
Axel Burri 2e974c1f4f btrbk: add "--wipe" command line option 2017-09-28 14:17:00 +02:00
Axel Burri 5bdc3e527b btrbk: add "prune" command 2017-09-28 14:17:00 +02:00
Axel Burri 422d52c063 btrbk: add key derivation for encrypted raw targets using external backend 2017-09-28 14:17:00 +02:00
Axel Burri de7628ac7c btrbk: add openssl_enc encryption for raw targets; add system_urandom()
Example:

Manually create a key:

    # KEYFILE=/some/secure/place/btrbk.key
    # dd if=/dev/urandom bs=1 count=32 | od -x -A n | tr -d "[:space:]" > $KEYFILE

btrbk.conf:

    volume /mnt/btr_pool
      incremental no
      raw_target_encrypt  openssl_enc
      openssl_ciphername  aes-256-cbc
      openssl_iv_size     16  # NOTE: set to "no" if no IV is needed by the selected cipher
      openssl_keyfile     /some/secure/place/btrbk.key

      subvolume home
        target raw ssh://cloud.example.com/backup
2017-09-28 14:17:00 +02:00