Axel Burri
7a469597ac
documentation: describe transaction log table format; cosmetics
2016-04-28 12:44:33 +02:00
Axel Burri
7e7c28f8f1
btrbk: add eval_quiet(), a simple wrapper around eval, disabling $SIG_(__DIE__)
2016-04-28 12:43:32 +02:00
Axel Burri
082754173c
btrbk: bugfix: raw targets: do not inject child if add_btrbk_filename_info() failed
2016-04-25 21:12:33 +02:00
Axel Burri
47eb14f5fb
btrbk: syslog: add syslog hack in print_formatted(); remove print-to-scalar hack
2016-04-25 19:40:11 +02:00
Axel Burri
c424d917b6
btrbk: syslog: only load Sys::Syslog module if configuration option is set; soft-fail on syslog calls
2016-04-25 18:36:54 +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
81feb41619
ssh_filter_btrbk: allow access to "/" if no path restrictions are set.
2016-04-25 16:58:56 +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
702ee8950e
btrbk: bugfix: vinfo(): correctly parse url, using check_url()
2016-04-25 15:10:00 +02:00
Axel Burri
357b72bd3f
btrbk: code cleanup: check_file() and check_url() do all the sanitize parts
2016-04-25 14:23:15 +02:00
Axel Burri
191284cd43
btrbk: bugfix: set correct parent section when propagating targets
2016-04-24 15:59:17 +02:00
Axel Burri
4ffaf430c5
change version to 0.23.0
2016-04-23 15:06:57 +02:00
Axel Burri
b4c4a96b14
Makefile: add doc/upgrade_to_v0.23.0.md
2016-04-23 15:04:45 +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
c7dd680537
btrbk: make sure that snapshots/backups with date in the future are never deleted
2016-04-22 20:51:31 +02:00
Axel Burri
ecb2307b22
btrbk: send/receive: only inject child if target creation was successful
2016-04-22 20:25:30 +02:00
Axel Burri
3ffa63daba
btrbk: bugfix: btrfs_subvolume_show(): quote real_path everywhere
2016-04-22 20:17:26 +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
e824c21f50
btrbk: use build-in Time::Local in combination with localtime() instead of Date::Calc; correctly calculate leap hours
2016-04-20 22:45:11 +02:00
Axel Burri
c73dffbd25
btrbk: handle missing Data::Dumper gracefully
2016-04-19 22:12:08 +02:00
Axel Burri
829490f963
btrbk: put btrbk filename info directly to tree node (parse only once)
...
performance win: factor 2.3
2016-04-19 22:04:07 +02:00
Axel Burri
c225231742
btrbk: reuse subvol list for get_receive_targets()
...
performance win: factor 2.6 !
2016-04-19 22:01:23 +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
29b9c8fc60
btrbk: action "archive": abort if receive targets of archive candidates exist at unexpected location. makes sure we dont have duplicates on our archives
2016-04-19 21:02:51 +02:00
Axel Burri
5e7a6e5ef4
btrbk: action "archive": delete archives according to archive retention policy
2016-04-19 21:02:51 +02:00
Axel Burri
31f0f97ff0
btrbk: fix info logging for send/receive
2016-04-19 21:02:51 +02:00
Axel Burri
7807fface8
btrbk: cosmetics; s/config_override_opts/config_override_cmdline/g
2016-04-19 21:02:51 +02:00
Axel Burri
2c3997ad0a
btrbk: bugfix: action "config print": correctly handle undef options; skip deprecated options
2016-04-19 21:02:47 +02:00
Axel Burri
2317580639
documentation: README.md: add update notice (v0.22.2 -> v0.23.0)
2016-04-18 00:16:45 +02:00
Axel Burri
a27f99af46
change version to 0.23.0-rc1
2016-04-17 21:46:56 +02:00
Axel Burri
bbb18f5af7
btrbk: cosmetics on info warnings
2016-04-17 21:46:53 +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
1151d2c572
btrbk: print_formatted(): honor use_header argument for all table formats
2016-04-16 20:25:22 +02:00
Axel Burri
9afe17f738
btrbk: continue gracefully (skip instead of abort) when resuming subvolume having existing (possibly garbled) target; cosmetics on debug/trace log
2016-04-16 19:31:29 +02:00
Axel Burri
ec9dd761b8
btrbk: use "[subvol cmd]" instead of "[btrfs cmd]", and print this as info log
2016-04-16 18:06:55 +02:00
Axel Burri
59b3cde303
Merge branch 'action_archive' into devel
2016-04-16 17:32:07 +02:00
Axel Burri
689d3d1233
btrbk: action "archive": print created subdirectories on summary; cleanup
2016-04-16 17:31:14 +02:00
Axel Burri
5a06a85619
btrbk: moved get_receive_targets_fsroot() out of get_receive_targets(), while cleaning up
2016-04-16 17:25:53 +02:00
Axel Burri
774e6ef842
btrbk: macro_archive_target(): only warn on unexpected targets, not abort
2016-04-16 17:25:53 +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
4bd68a2e35
btrbk: action "clone": abort all as soon as one target aborts
2016-04-16 00:45:16 +02:00
Axel Burri
cc20dfb8c3
btrbk: schedule(): use "informative_only" option instead of checking for empty value; make sure real values are always in front
2016-04-15 23:29:47 +02:00
Axel Burri
d0cfba7914
btrbk: action "clone": create missing directories
2016-04-15 23:29:47 +02:00
Axel Burri
a5c7c53a86
btrbk: action "clone": print scheduler results if --print-schedule option is set
2016-04-15 23:29:47 +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
e3702305e6
btrbk: bugfix: update uuid_cache after btrfs_subvolume_show()
2016-04-15 11:07:26 +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
6aa54b2dd5
btrbk: bugfix: correctly handle NODE_SUBDIR in vinfo_inject_child()
2016-04-14 18:24:11 +02:00