Commit Graph

334 Commits (a03c515b0adaa1095dddcc64ebed6bc6d3b93a57)

Author SHA1 Message Date
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 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 7a334097c1 btrbk: cosmetics (logging and summary text about -p option) 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 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 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
Axel Burri 7bb18050f8 btrbk: detect interrupted transfers of raw targets; delete incomplete raw targets on action "clean" 2016-03-22 19:28:05 +01:00
Axel Burri c2b11775a0 btrbk: cosmetics: adapt debug/trace messages 2016-03-16 19:21:48 +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 247f023bab btrbk: allow wildcards in subvolume section; add option "wildcards" in check_file() 2016-03-16 18:17:44 +01:00
Axel Burri b9fa3e6e90 btrbk: add init_config(); use default config in action "diff"; use root config context for action "origin" 2016-03-15 16:54:54 +01:00
Axel Burri 8819c67502 btrbk: fixed raw targets 2016-03-15 14:53:51 +01:00
Axel Burri e9bc4950ac btrbk: re-ordering of functions (no functional changes) 2016-03-15 11:21:59 +01:00
Axel Burri 207e8868da btrbk: no more copy of node information in vinfo by vinfo_set_detail(); always use vinfo->{node}{key}; cleanup 2016-03-14 20:21:12 +01:00
Axel Burri 9a68ab6519 btrbk: use symlink hash instead of REAL_URL 2016-03-14 15:56:20 +01:00
Axel Burri cab2a88843 btrbk: move url_cache lookup to vinfo_subvol_list 2016-03-14 12:59:24 +01:00
Axel Burri 14d1ca1976 btrbk: add warning if a receive target of resume candidate exists at unexpected location 2016-03-12 19:16:07 +01:00
Axel Burri 1b45db3c59 btrbk: simplify btr_tree: SUBTREE is now list instead of hash; add TREE_ROOT pointer to every node; cleanup 2016-03-11 14:55:22 +01:00