Commit Graph

475 Commits (49ae46d51d6e545ee380d35b6cdd1e3ce4b64ca8)

Author SHA1 Message Date
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 6aa54b2dd5 btrbk: bugfix: correctly handle NODE_SUBDIR in vinfo_inject_child() 2016-04-14 18:24:11 +02:00
Axel Burri 141b70f26b btrbk: bugfix for subdir resolving: on older kernels, the "subvolid" mount option is not shown: try to read it with btrfs_subvolume_show() 2016-04-14 18:21:00 +02:00
Axel Burri a1ee9d5c6d btrbk: allow "{snapshot,target}_preserve no": disable retention policy 2016-04-14 14:43:43 +02:00
Axel Burri a03c515b0a btrbk: enter failsafe mode on deprecated preserve configuration: at least create the snapshots, and print message to read the upgrade documentation 2016-04-14 13:41:53 +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 be608a04b2 documentation: btrbk.conf.example: adaptions for new {snapshot,target}_preserve options 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 032642751b btrbk: change preserve table text: print latest match instead of earliest match 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 738178565c btrbk: fix vinfo_inject_child() for raw targets 2016-04-13 22:05:20 +02:00
Axel Burri a76512955a btrbk: add vinfo_inject_child(): add a custom node to btr_tree, with fake id, uuid, gen and cgen; use to inject created snapshots and receive targets 2016-04-13 17:17:23 +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 6b07316fef documentation: README.md: use new preserve semantics in examples 2016-04-12 12:07:33 +02:00
Axel Burri 7a334097c1 btrbk: cosmetics (logging and summary text about -p option) 2016-04-12 11:47:41 +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 78bfc5b885 btrbk: bugfix: use "/bin/false" as RSH if no config is available 2016-04-08 13:38:50 +02:00
Axel Burri ccc2a35520 ChangeLog: update missing items 2016-04-07 15:53:50 +02:00
Axel Burri a887e89732 btrbk: warn on receive targets at unexpected location (whole filesystem) when resuming missing backups (do not abort anymore); 2016-04-07 14:35:27 +02:00
Axel Burri 6b71b68fcb btrbk: bugfix: do not run "rm" command with no arguments (on raw targets) 2016-04-06 20:41:36 +02:00
Axel Burri 5d65748ffe btrbk: call init_transaction_log() at the beginning of every action, instead at global place 2016-04-06 20:27:27 +02:00
Axel Burri 211964f709 btrbk: parse btrbk_basename and btrbk_date in vinfo_child() instead of vinfo_subvol_list() 2016-04-06 20:24:56 +02:00
Axel Burri bfb556757d btrbk: get_latest_common(): use all brothers (snapshots with same parent) as candidates (older first, then newer) instead of only older; as last resort, use subvolumes in snapshot_dir matching btrbk file name scheme as candidates 2016-04-06 15:36:54 +02:00
Axel Burri 46e3aae857 btrbk: get_latest_common(): add strategy to find latest common for readonly and received subvolumes; add helper function cmp_date() 2016-04-06 15:36:51 +02:00
Axel Burri a26e8851b4 btrbk: btr_tree: return already assembled tree if a subvolume is already known in uuid_cache 2016-04-06 15:36:27 +02:00
Axel Burri ac0002bce8 btrbk: get_receive_targets() also returns matching source_received_uuid 2016-04-06 15:36:27 +02:00
Axel Burri 4b1983378f btrbk: add useful flags and parse date and basename of btrbk created files in vinfo_subvol_list(); replace parse_filename() calls by usage of new flags 2016-04-06 13:35:37 +02:00
Axel Burri 0bfb78b842 btrbk: remove trailing slash from NODE_SUBDIR 2016-04-03 21:41:41 +02:00
Axel Burri 899ca92026 btrbk: bugfix: untaint raw backup file list read by "find" command 2016-04-03 21:38:19 +02:00
Axel Burri 023004e9cc btrbk: bugfix: add '=' character to (regression introduced in a7cd4a99) 2016-04-03 21:09:30 +02:00
Axel Burri ea5cd06fbc btrbk: bugfix: get_receive_targets() for BTRFS_PROGS_COMPAT (regression introduced in 207e8868) 2016-04-03 21:09:30 +02:00
Axel Burri 302400d640 btrbk: bugfix: disallow snapshot_preserve_* in target section 2016-04-03 15:13:16 +02:00
Axel Burri a7cd4a994c btrbk: add some extra safety when running shell commands 2016-04-02 14:13:16 +02:00
Axel Burri 86170e6b21 btrbk: bugfix: untaint result of system_realpath() 2016-04-02 14:10:35 +02:00
Axel Burri 407d25f604 ssh_filter_btrbk: cosmetics: fix indentation (remove tabs) 2016-03-31 17:24:24 +02:00
Axel Burri ccb5ed5e71 ssh_filter_btrbk: allow "realpath" and "cat /proc/self/mounts" on targets 2016-03-31 17:24:24 +02:00
Axel Burri 90a3537433 documentation: add documentation for target propagation and target directories 2016-03-31 17:24:24 +02:00
Axel Burri 79caba4267 btrbk: rename %symlink -> %realpath_cache (returning real_path instead of real_url) 2016-03-31 17:24:24 +02:00
Axel Burri 7ee5778dee btrbk: bugfix: print correct target on "same backup target error" 2016-03-31 17:24:24 +02:00
Axel Burri c4073f6c53 btrbk: print target_path instead of target_subvol for "list {target,config}" 2016-03-31 17:24:24 +02:00
Axel Burri 3ada7c174e btrbk: allow targets to be directories (use mountpoint framework) 2016-03-31 17:24:24 +02:00
Axel Burri 06043cf800 btrbk: add btrfs mountpoint resolving functionality 2016-03-31 17:24:23 +02:00
Axel Burri de96f267b8 btrbk: propagate target sections to (sub-)subsections (allow target sections everywhere in the config) 2016-03-31 17:24:18 +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 e6d46e8a02 btrbk: fix regression: correctly handle previously received subvolumes in get_latest_common()
regression from: 8819c67502
2016-03-22 19:30:21 +01:00