Axel Burri
821e8bba6a
add .gitattributes (export-ignore)
...
Effectively removes .gitignore files when using `git archive`.
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
6f38536052
btrbk: set c_default for config keys with computed default
...
Suppress "Option redefined" warning for snapshot_name config option,
which has hardcoded (computed) default already set when checking.
fix regression: 0ebe2ea2e1
2018-02-26 16:06:12 +01:00
Axel Burri
e75cf0c72c
btrbk: fix exit status and transaction log when archive_exclude is set
...
Similar to ABORTED=USER_SKIP (active commandline filter), archives
having ABORTED=ARCHIVE_EXCLUDE_SKIP (active archive_exclude
configuration) do not cause exit status 10 and are hidden from
transaction log.
2018-02-26 14:35:26 +01:00
Axel Burri
c0e0644eff
btrbk.conf.example: add stream_buffer command to example config
2018-02-14 00:25:58 +01:00
Axel Burri
5651c96e4e
btrbk: archive: always print "[-]" if no action was performed for target
2018-02-14 00:18:44 +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
3aaafa3d88
btrbk: add "meta" context for config defaults
...
Preparatory patch to allow multiple identical config keys in same
section.
2018-02-13 19:28:38 +01:00
Axel Burri
b2b43cf199
btrbk: add configurable error_statement for check functions
...
Corrects error messages from --exclude option.
Applies to in check_file(), check_url() and append_config_option().
2018-02-13 17:40:14 +01:00
Axel Burri
db1fe2d11a
btrbk: fix output of "btrbk list backups" and "btrbk stats" (match all uuid/received_uuid combinations)
2018-02-07 16:24:49 +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
a3641cff74
btrbk: fix filter statement matching for volume="/"
...
While $vol->{URL} can contain "//" if volume="/" (intentionally, this
is an assembled path), the filter statements are sanitized using
check_url(). This means we need to match the filter statement against
check_url($vol->{URL}). Same applies to subvol.
2018-02-03 12:55:21 +01:00
Axel Burri
90fed6525e
btrbk: bugfix: restrict snapshot_dir and snapshot_create to root/volume/subvolume context
2018-01-31 19:01:00 +01:00
Axel Burri
753d68b2ed
btrbk: add documentation on caching in btr_tree()
2018-01-30 14:02:36 +01:00
Axel Burri
84bac59ab4
btrbk: fix parsing of "openssl_iv_size" configuration option
2018-01-21 18:53:29 +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
b8e88f71a6
contrib: systemd: btrbk.service: add Documentation link to btrbk(1)
2017-10-24 13:29:06 +02:00
Axel Burri
57bc86b7a9
README.md: mention github source code repository
2017-10-13 14:02:50 +02:00
Axel Burri
fa5309ee81
README.md: change git clone URL from git:// to https://
...
For security reasons, using the git:// protocol is discouraged.
2017-10-13 13:51:10 +02:00
Axel Burri
13f37491ed
btrbk: cosmetics: change order of commands in help message
2017-10-12 17:08:46 +02: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
909c68f164
btrbk: transaction_log and transaction_syslog are only allowed in root context
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
e3ee674085
btrbk: limit search depth to 256 when resolving ancestors
...
Note that the current implementation is not very optimized, we should
introduce a parent/child hash table for all queries in
get_latest_common().
2017-10-10 16:46:05 +02:00
Axel Burri
3be65b9f67
btrbk: resolve ancestors (recursive on parent_uuid chain) when searching for latest common subvolume
2017-10-10 13:10:33 +02:00
Axel Burri
0799820556
btrbk: support btrfs-progs 4.13.2: adapt parsing of "btrfs subvolume list"
...
btrfs-progs v4.13.2 changed the output of "btrfs subvolume list", in
order to make the tabular output format look nicer (?!?):
e4c6772f69
2017-10-09 23:04:07 +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
6cb98700d8
btrbk: allow archive_preserve_* options in root context only
2017-10-02 13:54:37 +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
2809dc54c5
btrbk: remove sorting of deleted subvolumes in summary (not needed anymore)
...
Deleted subvolumes are already sorted by schedule().
Sorting by PATH is bad anyways, as it does not sort _NN postfix
correctly.
2017-09-28 14:17:00 +02:00
Axel Burri
512aca5332
btrbk: parse output of "btrfs subvolume delete"
...
When doing a batch delete (multiple deletes with one call to "btrfs
subvolume delete"), we want to know which subvolumes have failed. For
this, we need parse the error output.
On any parsing failure, we assume that nothing has been deleted, and
warn accordingly (forward compatibility).
2017-09-28 14:17:00 +02:00
Axel Burri
9d9527ca9a
btrbk: simplify transaction function calls
...
Prefix transaction status with "dryrun_" in start_transaction() /
end_transaction if $dryrun is set.
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