Commit Graph

280 Commits (unsafe-filenames)

Author SHA1 Message Date
Axel Burri 28c65e4675 btrbk: add raw_target_split option, using "split" instead of "dd" to write raw files 2017-03-18 14:47:43 +01:00
Axel Burri 690a8158ed ssh_filter_btrbk: always allow pipes through compression commands 2017-03-18 12:19:07 +01:00
Axel Burri da70158c24 ssh_filter_btrbk: correctly handle --sudo option 2017-03-18 12:19:07 +01:00
Axel Burri 3b7ede773a btrbk: bugfix: make sure rate limiting comes after compression in cmd_pipe 2017-03-18 12:18:47 +01:00
Axel Burri a7f52785bd documentation: add all accepted facility names for transaction_syslog 2017-02-18 13:16:43 +01:00
Axel Burri cb82bd5fa4 btrbk: add supoort for "backend btrfs-progs-sudo" option; adaptions in ssh_filter_btrbk.sh 2017-01-04 15:04:22 +01:00
Axel Burri 2acbe4978e documentation: cosmetics: fix spelling 2017-01-03 13:42:38 +01:00
Axel Burri b69e9ebf34 btrbk: show aggregate "size" and "used" for "usage" action 2016-12-11 15:36:48 +01:00
Axel Burri da849b37ae change version to 0.24.0 2016-11-16 15:32:17 +01:00
Axel Burri ff8815b235 Documentation: btrbk.conf.5: add link to https://github.com/digint/btrfs-progs-btrbk in description of "backend" feature 2016-11-16 15:31:16 +01:00
Axel Burri b6defaa37f documentation: add missing documentation of archive_preserve options 2016-08-29 19:44:17 +02:00
Axel Burri a8a311c8c7 btrbk: add "backend" configuration option: support for distinct binaries from btrfs-progs-btrbk
btrfs-progs-btrbk sources (fork of btrfs-progs) can be found at:

https://github.com/digint/btrfs-progs-btrbk
2016-08-29 18:40:42 +02:00
Axel Burri 961f96833a btrbk: use "dd" for raw target output, with configurable block size (raw_target_block_size)
We use "dd" instead of shell redirections, as it is common to have
special filesystems (like NFS, SMB, FUSE) mounted on the raw target
path. By using "dd" we make sure to write in reasonably large blocks
(default=128K), which is not always the case when using redirections
(e.g. "gpg > outfile" writes in 8K blocks).

Another approach would be to always pipe through "cat", which uses
st_blksize from fstat(2) (with a minimum of 128K) to determine the
block size.
2016-08-25 13:14:01 +02:00
Axel Burri deeb12c069 ssh_filter_btrbk: allow stream compression if --compress option is set. 2016-08-19 17:36:40 +02:00
Axel Burri 9913e2785a documentation: add stream_compress documentation, update Changelog 2016-08-19 17:36:33 +02:00
Axel Burri 9a5e8311be change version to 0.23.3 2016-07-14 01:41:45 +02:00
Axel Burri 91d02ca97b change version to 0.23.2 2016-06-07 16:41:41 +02:00
Axel Burri 3a8665bce9 documentation: add information about wildcard characters for subvolume section; cleanup 2016-06-07 16:37:32 +02:00
Axel Burri e4a7ba4be5 btrbk: add lockfile support, using perl "flock": add configuration option "lockfile <file>", and command line option "--lockfile"' 2016-06-07 16:17:02 +02:00
Axel Burri 6532229361 documentation: FAQ.md: recent versions of btrfs-progs print "is toplevel subvolume" instead of "is btrfs root" 2016-05-30 13:20:47 +02:00
Axel Burri cb0851c8b6 change version to 0.23.1 2016-05-03 16:21:34 +02:00
Axel Burri 65ebf949d1 documentation: cosmetics: groff: consistently use minus "\-" instead of hyphen "-" where applicable 2016-05-03 16:01:39 +02:00
Axel Burri cb6dcbe58e documentation: cosmetics (no more long lines) 2016-05-03 15:30:06 +02:00
Axel Burri 7a469597ac documentation: describe transaction log table format; cosmetics 2016-04-28 12:44:33 +02:00
Hans van Kranenburg 59d96420c8 btrbk: add transaction logging to syslog
Add configuration option transaction_syslog, which can be set to a short
name of a syslog facility, like user or local5. Most of the ones besides
localX do not really make sense, but whatever, let the user decide.

The only logging that is relevant for logging to syslog is the logging
generated inside sub action, so it's easy to hijack all messages in
there and also send them to syslog if needed.

All output is done via print_formatted, which expects a file handle.
So, abuse a file handle to a string to be able to change as less code as
needed for this feature.

Since syslog already adds the timestamps for us, I added a syslog
formatting pattern, which is very similar to tlog, omitting the
timestap.
2016-04-25 17:32:08 +02:00
Axel Burri 89df601ee5 btrbk: allow "<hostname>:<path>" notation for volume and target sections 2016-04-25 16:34:52 +02:00
Axel Burri 4ffaf430c5 change version to 0.23.0 2016-04-23 15:06:57 +02:00
Axel Burri 2e8e4ddefc btrbk: cosmetics: change info log of send/receive; change topic line; fix typos 2016-04-23 14:58:08 +02:00
Axel Burri efc260ef91 btrbk: add sanity check on timezone offset; add documentation about implications of long-iso time format 2016-04-23 14:49:12 +02:00
Axel Burri c13c99ada5 btrbk: add new time_format "long-iso", with seconds and timezone offset (iso8601 format); add function timestamp(): remove dependency to POSIX 2016-04-22 19:47:01 +02:00
Axel Burri 2b22524ccd btrbk: sane defaults: xxx_preserve_min defaults to "all", xxx_preserve default to "no" (for backwards compatibility with 0.22.0 default) 2016-04-19 21:37:04 +02:00
Axel Burri a27f99af46 change version to 0.23.0-rc1 2016-04-17 21:46:56 +02:00
Axel Burri edfebb8193 btrbk: action "origin": use --format options; do not recurse into parent chain 2016-04-16 22:05:26 +02:00
Axel Burri de05b99757 btrbk: rename action "clone" to "archive" (should have been like this from the beginning) 2016-04-16 17:25:51 +02:00
Axel Burri 14de16aabe btrbk: add action "clone": recursively send/receive all backups to an archive directory 2016-04-15 23:29:47 +02:00
Axel Burri 3c9aff4c40 btrbk: enable --override option 2016-04-15 11:10:12 +02:00
Axel Burri 6e997674fc btrbk: remove "btrfs_progs_compat" configuration option, from now on we REQUIRE btrfs-progs >= v3.18.2: we rely on received_uuid for most operations 2016-04-15 11:07:16 +02:00
Axel Burri a1ee9d5c6d btrbk: allow "{snapshot,target}_preserve no": disable retention policy 2016-04-14 14:43:43 +02:00
Axel Burri 73906caacd documentation: update/fix ChangeLog, README.md, btrbk.conf.5; add "doc/upgrade_to_v0.23.0.md" 2016-04-13 22:05:20 +02:00
Axel Burri 7c0987bd3c btrbk: be harsh (abort) on deprecated "{snapshot,target}_preserve_{daily,weekly,monthly}" and "resume_missing no" options; change default of snapshot_preserve_min to one day 2016-04-13 22:05:20 +02:00
Axel Burri 36cc96fdb8 btrbk: always preserve latest snapshot/backup pair (instead of latest snapshot and latest backup); remove preserve_latest option of schedule() 2016-04-13 22:05:20 +02:00
Axel Burri e200975f32 btrbk: add option "*preserve_min latest"; deny "snapshot_preserve_min no" 2016-04-13 22:05:20 +02:00
Axel Burri d143d75b43 btrbk: rename *preserve_all to *preserve_min 2016-04-13 22:05:20 +02:00
Axel Burri 55b121c372 btrbk: remove resume_missing configuration option 2016-04-13 22:05:20 +02:00
Axel Burri bd34d9f689 btrbk: change preserve logic: keep FIRST present of hour/day/... instead of LAST 2016-04-13 17:17:14 +02:00
Axel Burri 1e91f179d4 documentation: btrbk.1: update sections containing infos about retention policy; fix documentation of -p option; cosmetics 2016-04-12 11:47:41 +02:00
Axel Burri 326edfcc29 btrbk: change preserve semantics (incompatible):
- add "{snapshot,target}_preserve_all" configuration option

- change semantics of "{snapshot,target}_preserve NNd" to "preserve
  latest daily only"

- change default of "preserve daily,monthly" to 0 (was: all)

- add deprecated warning and enter compatibility mode: preserve
  everything if deprecated {snapshot,target}_preserve_* options are
  encountered
2016-04-12 11:47:28 +02:00
Axel Burri ceb4dbf19c btrbk: add --print-schedule command line option 2016-04-09 14:16:14 +02:00
Axel Burri 90a3537433 documentation: add documentation for target propagation and target directories 2016-03-31 17:24:24 +02:00
Axel Burri f9ca7504c8 btrbk: add configuration option "rate_limit" (using pv -L)
Original patch provided by @janpascal: "Jan-Pascal van Best"
2016-03-23 11:58:35 +01:00
Axel Burri 1adb318f02 documentation: cosmetics: change all url from www.digint.ch to digint.ch 2016-03-16 18:34:28 +01:00
Axel Burri 9eb38ac9d0 btrbk: add {snapshot,target}_preserve shortcut 2016-03-01 12:30:35 +01:00
Axel Burri b90cc132c1 documentation: add documentation for {snapshot,target}_preserve_yearly 2016-03-01 12:07:37 +01:00
Axel Burri cf8e136681 documentation: cosmetics: use "*" instead of "-" for enumerations; two newlines before headings 2016-02-29 14:02:36 +01:00
Axel Burri 4a41413793 documentation: btrbk.1: more precice description of "btrbk list latest" 2016-02-03 12:43:20 +01:00
Axel Burri 8b071c5827 documentation: FAQ: change note about re-sending subvolumes (kernels 4.4 fix the issue) 2016-02-03 12:39:49 +01:00
Axel Burri 4434bc17ef changed version to 0.22.2 2016-02-02 11:26:09 +01:00
Axel Burri c5d256bbf6 documentation: ssh_filter_btrbk.1: fixed release date 2016-01-21 17:41:06 +01:00
Axel Burri 872779398e changed version to 0.22.1 2016-01-20 18:47:29 +01:00
Axel Burri 9595adc2a5 changed version to 0.22.0 2016-01-19 21:08:19 +01:00
Axel Burri a1698ef4b0 btrbk: print "$hostname:$path" instead of "{$hostname}$path" in summary and logs 2016-01-17 19:44:59 +01:00
Axel Burri e7ff20114c btrbk: add "stats" action (print snapshot/backup statistics) 2016-01-15 02:06:03 +01:00
Axel Burri a82c1f533a btrbk: added configuration options "raw_target_compress_level", "raw_target_compress_threads" 2016-01-14 18:02:53 +01:00
Axel Burri 9718ad1460 btrbk: add "-n, --dry-run" option 2016-01-14 16:11:33 +01:00
Axel Burri 3624a8fba0 btrbk: add "clean" action (delete incomplete, garbled backups) 2016-01-14 16:11:30 +01:00
Axel Burri a0670dcb5c documentation: FAQ: add section for "sneakernet" data transfer 2015-11-09 13:02:55 +01:00
Axel Burri 1342f43411 documentation: btrbk.conf.5: cosmetics: dont use bullet lists 2015-11-02 20:09:19 +01:00
Axel Burri cb01507bb1 changed version to 0.21.0 2015-10-25 12:29:52 +01:00
Axel Burri 799665bac1 documentation: moved documentation on non-btrfs sources from FAQ to README; adapted key features and debian link 2015-10-25 12:20:59 +01:00
Axel Burri aa9a03ae6c documentation: more detailed information about raw targets in README.md and btrbk.conf.5; fixed outdated information in FAQ.md 2015-10-25 12:20:55 +01:00
Axel Burri 3f09d2c37f btrbk/documentation: rename "resolve *" commands to "list *"; cleanup 2015-10-22 17:59:17 +02:00
Axel Burri 05bfeaff1b btrbk: replace "info" command with "usage", with tabular output; add support for right-aligned columns 2015-10-19 22:10:08 +02:00
Axel Burri bca413b7ca documentation: add missing "config print" command; add predefined "list" filters; cosmetics; fix FAQ 2015-10-13 20:08:10 +02:00
Axel Burri 46c7841e93 btrbk: add transaction log (configuration option "transaction_log <file>" 2015-10-13 20:08:10 +02:00
Axel Burri 01b7ab0ebf btrbk: add "-t, --table" command line option (shortcut for "--format=table") 2015-10-13 20:08:04 +02:00
Axel Burri 956b010143 documentation: add "--format=table|long|raw" command line option 2015-10-13 20:02:02 +02:00
Axel Burri 1905d80969 btrbk: return exit status 10 instead of 0 if one or more backup tasks aborted, and exit status 2 on parse errors 2015-09-30 14:00:39 +02:00
Axel Burri bed00cdb8a documentation: added "target raw" and "timestamp short|long" documentation to btrbk.conf(5), as well as an example for raw targets in README.md 2015-09-29 21:48:56 +02:00
Axel Burri d73e3f184b btrbk: added "config dump" command (tagged as experimental): dump filtered btrbk config, useful for scripting 2015-09-24 16:00:35 +02:00
Axel Burri b3d8c1f15f btrbk: allow filtering by "<target-directory>/<snapshot-name>", which makes it possible to pinpoint a single target 2015-09-24 14:56:22 +02:00
Axel Burri 8059fa28db documentation: added documentation for ---raw-output command line option 2015-09-24 01:02:42 +02:00
Axel Burri dd6104339e btrbk: added "ssh_cipher_spec" configuration option, overriding default SSH ciphers (ssh -c option) 2015-09-20 18:32:19 +02:00
Axel Burri 269b3611ac documentation: added "FILTER STATEMENT" section in btrbk(1), and "group" configuration option in btrbk.conf(5) 2015-09-20 17:47:46 +02:00
Axel Burri 8bc1acc672 documentation: FAQ: added item "How can I backup from non-btrfs hosts?" 2015-09-10 15:03:35 +02:00
Axel Burri f01304df35 ssh_filter_btrbk: refactoring/hardening:
- switched to bash interpreter
- enable fine-grained (--source, --target, ...) capabilities by command-line options
- added "--restrict_path" command-line option
- added sudo flag
- added man-page
- print SSH_ORIGINAL_COMMAND in error message
2015-09-10 14:02:32 +02:00
Axel Burri 38a8c1c9eb documentation: btrbk(1): added missing command line options in synopsis section 2015-09-03 18:13:09 +02:00
Axel Burri bed9fe1f66 documentation: disable hyphenation and justification in man-pages; use .PP and .RS 4 instead of .TP, which creates more predictable output 2015-09-03 18:02:19 +02:00
Axel Burri 5b0e618632 changed version to 0.20.0 2015-09-02 12:27:13 +02:00
Jan Wagner 68876f0562 btrbk: added "ssh_compression" configuration option for setting the SSH compression flag 2015-09-02 11:22:50 +02:00
Axel Burri d8e8df0ebd btrbk: added command line option "--progress", which simply pipes btrfs send through `pv` 2015-08-15 18:43:03 +02:00
Axel Burri 752dbc6157 btrbk: accept long options (use Getopt::Long instead of Getopt::Std) 2015-08-15 18:30:14 +02:00
Axel Burri 7017e14c32 documentation: btrbk.1: added missing information about the "-r" command line option 2015-08-13 22:17:01 +02:00
Axel Burri d09d81fbeb btrbk: added configuration option "ssh_port" 2015-08-13 21:50:26 +02:00
Axel Burri bb2672566f documentation: doc/FAQ.md: fixed headings 2015-07-17 14:32:35 +02:00
Axel Burri eae6469694 documentation: doc/FAQ.md: added information on btrfs root problem 2015-07-17 14:22:44 +02:00
Axel Burri 748bbbfd62 Merge branch 'faq' 2015-07-17 00:29:16 +02:00
Axel Burri 97286ab34c changed version to 0.19.3 2015-06-21 15:37:04 +02:00
Axel Burri f58fe6f3df documentation: doc/FAQ.md: fixed mistakes, cleanup markdown (thanks Bernd) 2015-06-10 11:26:13 +02:00
Axel Burri 5973509428 documentation: doc/FAQ.md: added FAQ 2015-06-09 16:23:20 +02:00
Axel Burri 842f8cb201 changed version to 0.19.2 2015-06-07 12:33:27 +02:00
Axel Burri e3da1f718f changed version to 0.19.1 2015-06-01 12:48:31 +02:00
Axel Burri b4a9974c5d changed version to 0.19.0 2015-05-27 17:36:58 +02:00
Axel Burri 1818eefc85 btrbk: allow subvolume filtering on "info" action 2015-05-27 15:00:25 +02:00
Axel Burri 7f7b6477d2 btrbk: allow subvolume filtering on "tree" action 2015-05-26 21:12:04 +02:00
Axel Burri 16355b848d btrbk: added "snapshot_create onchange", which skips snapshot creation if the latest snapshot is up-to-date (i.e. has same generation as the source subvolume) 2015-05-25 18:18:44 +02:00
Axel Burri 27e150878c documentation: small corrections (thanks Richard!) 2015-05-25 17:14:31 +02:00
Axel Burri 31947279fb changed version to 0.18.0; added migration notes to ChangeLog 2015-05-21 14:47:38 +02:00
Axel Burri b52f40d5b4 documentation: added documenation for new "snapshot_create" configuration option, while removing deprecated "snapshot_create_always". Added an "multiple btrbk instances" example to README.md 2015-05-20 21:51:20 +02:00
Axel Burri 4db0aa0128 documentation: btrbk.conf.5: replaced double quotes "\(lq", "\(rq" with "\[lq]", "\[rq]", which is identical in groff but produces correct output in the FileWiki::Plugin::Man module 2015-05-20 13:50:18 +02:00
Axel Burri 8217da5f03 documentation: btrbk.1: altered text for "run" action, explaining the resume mechanism in more detail 2015-05-20 13:46:09 +02:00
Axel Burri 5bfba3602e changed version to 0.17.1 2015-05-15 17:55:48 +02:00
Axel Burri 999bf889bc changed version to 0.17.0 (new versioning scheme using more common three-level versions) 2015-04-30 14:45:50 +02:00
Axel Burri d860d9e5dd btrbk: allow '+' character for subvolume names 2015-04-28 21:19:46 +02:00
Axel Burri 436b1361ff btrbk: bugfix: allow relative path for subvolume; adapted documentation 2015-04-28 21:19:46 +02:00
Axel Burri 3413425ed9 btrbk: added "snapshot_name" configuration option 2015-04-28 21:19:45 +02:00
Axel Burri 3224284438 documentation: added information about allowed characters for filenames 2015-04-13 23:44:29 +02:00
Axel Burri 7b3d9f4ea1 changed version to 0.16 2015-04-02 17:10:28 +02:00
Axel Burri f5e1f2ffb8 changed version to 0.15 2015-04-01 16:53:46 +02:00
Axel Burri 10b8983296 documentation: added documentation of "resume_missing" option 2015-04-01 14:21:50 +02:00
Axel Burri 75dd565de4 btrbk: removed configuration option "receive_log" in favor of printing errors from "btrfs receive" 2015-03-26 18:45:36 +01:00
Axel Burri 28ed7d65e8 btrbk: added configuration option "btrfs_progs_compat", for compatibility with btrfs-tools v3.14. Note that the common snapshots are guessed by their filenames when "btrfs_progs_compat" is set 2015-03-26 18:45:06 +01:00
Axel Burri 1beba2613d Changed version to 0.14 2015-03-20 18:07:55 +01:00
Axel Burri 9f96974a5d Changed version to 0.13 2015-03-19 17:20:21 +01:00
Axel Burri 930e2cfbf0 documentation: cosmetics 2015-03-19 13:16:58 +01:00
Axel Burri bef56e59d3 cosmetics: corrected btrbk home page url 2015-03-19 12:48:09 +01:00
Axel Burri 523b989b02 Changed version to 0.12 2015-03-13 19:38:51 +01:00
Axel Burri 448b70b8fd Changed version to 0.11; adapted ChangeLog 2015-03-02 11:33:14 +01:00
Axel Burri aa8d153a20 btrbk: added optional subvolume argument for run/dryrun actions, for explicit selection of subvolumes to be processed. 2015-03-01 14:28:26 +01:00
Axel Burri 056f6f9120 btrbk: added option -p (preserve backups) 2015-02-28 13:46:05 +01:00
Axel Burri 25e94a082a documentation: added btrbk(1) and btrbk.conf(5) man pages 2015-02-10 13:35:12 +01:00