Axel Burri
ec9998e866
btrbk: add lsbtr symlink
2020-08-29 13:07:57 +02:00
Axel Burri
3b2fad928b
Makefile: create "lsbtr" symlink on "install" build target
2020-08-29 13:07:57 +02:00
Axel Burri
910274f814
btrbk: support lsbtr symlink (alias for "btrbk ls")
...
If called via "lsbtr" symlink (program name):
- Provide user-friendly table options
- Assume "./" as path if no path arguments are given
2020-08-29 13:07:57 +02:00
Axel Burri
dff05bc6d7
documentation: README.md: add common rsync options
2020-08-29 12:34:49 +02:00
Axel Burri
c2308a52a6
btrbk-mail: add more elaborated email and rsync options
...
- If rsync is enabled, show number of created/deleted/transferred
files in mail subject.
- Add options to show summary and/or detail message in mail body.
- Add option to skip btrbk if no files were transferred via rsync.
- Add option to call sync(1) prior to running btrbk.
- Add option to skip btrbk execution if no files were transferred.
2020-08-29 12:31:18 +02:00
Axel Burri
ec037952cf
btrbk: add "compat" config option (busybox: add test -d command)
...
Add compat, compat_local, compat_remote configuration options.
Used for busybox: instead of running `readlink -e` (which is not
available on busybox), run `readlink -f` followed by `test -d`.
2020-08-28 21:19:21 +02:00
Axel Burri
52a823bb93
btrbk: rename context "root" to "global"
...
Use same naming as in documentation: btrbk.conf.5
2020-08-28 20:49:28 +02:00
Axel Burri
c81e390415
btrbk: cosmetics: capitalize debug logs
2020-08-28 20:48:17 +02:00
Axel Burri
a140cbd898
btrbk: case-insensitive match hostname/ipv6 in filter statement
2020-08-27 10:38:23 +02:00
Axel Burri
61419d420a
btrbk: add support for ipv6 addresses
2020-08-27 10:38:23 +02:00
Axel Burri
2f7e79ace6
documentation: mention up-to-date status
2020-08-20 18:53:46 +02:00
Axel Burri
12d80ee30b
btrbk: fix check on host
2020-08-20 17:02:45 +02:00
Axel Burri
b80d7e84de
btrbk: cosmetics on logging
2020-08-20 17:02:45 +02:00
Axel Burri
952e41443a
btrbk: always log target before source
...
Consistent for send/receive and send-to-raw.
2020-08-20 17:01:25 +02:00
Axel Burri
c11ab1507d
btrbk: sanitize url on PRINT
...
For consistency with PATH and URL, $vol->{PRINT} was not sanitized
(trailing "//" if parent is "/"). This is now dropped, as this is more
confusing than useful.
2020-05-24 02:48:12 +02:00
Axel Burri
936f88a68f
btrbk: action ls: support url argument; fix duplicates / sorting
2020-05-24 02:48:00 +02:00
Axel Burri
30edf5b766
btrbk: action ls: fix match on child subvols of "/"
...
If PATH contains double slash (intentional behavior of vinfo_child),
the match on root_path fails. Fixed by removing "//" from path.
2020-03-07 01:11:52 +01:00
Axel Burri
cb7d49d075
btrbk: change version to 0.29.2-dev
2020-02-29 17:40:55 +01:00
Axel Burri
e920283434
change version to 0.29.1; update ChangeLog
2020-02-09 16:18:00 +01:00
Axel Burri
73b339fe01
documentation: fix spelling
2020-02-09 16:14:50 +01:00
Axel Burri
d9e9f01e51
documentation: README.md: rewrite "restoring backups" chapter
2020-01-07 23:16:44 +01:00
Axel Burri
0c77219a62
documentation: README.md: fix backup restore example
...
Especially dont recommend deleting the transferred subvolume, this
would break incremental chain for subsequent backups.
2020-01-05 00:04:55 +01:00
Axel Burri
1b533f2340
documentation: README.md: add instructions for downloading latest master
2020-01-02 17:59:20 +01:00
Axel Burri
c03e960d90
ssh_filter_btrbk.sh: exclude "btrfs subvolume show|list" from restrict-path
...
btrbk requires "btrfs subvolume list|show" queries from the mount
point in order to build btrfs trees. This conflicts with tightly set
--restrict-path.
2020-01-02 17:56:03 +01:00
Axel Burri
5407b863df
documentation: btrbk.1: add missing option -L, --long
2020-01-02 16:58:07 +01:00
Axel Burri
0d19b0243e
btrbk: action ls: change default output to format=short
2020-01-02 16:58:07 +01:00
Axel Burri
c5b3ebb808
btrbk: action ls: allow multiple path arguments; soft fail on errors
2020-01-02 16:58:07 +01:00
Axel Burri
73c24e0495
documentation: btrbk.conf.5: explain stream_buffer_remote
2020-01-02 16:58:07 +01:00
Axel Burri
631a4c30fe
btrbk: fix @stderr propagation from vinfo_init_root
...
As we print @stderr in warnings if vinfo_init_root() function fails,
we need to make sure that @stderr contains sane values.
Clearing @stderr is required when calling caching functions!
2019-12-15 20:03:37 +01:00
Axel Burri
67d24695f1
btrbk: logging prints "..." on consecutive lines
2019-12-15 20:03:37 +01:00
Axel Burri
1f7773dddc
btrbk: try readlink only once per url
...
Change semantics of %realpath_cache: if "" (empty string), do not try
to run readlink shell command again on same URL.
2019-12-15 19:12:14 +01:00
Axel Burri
8c11c2eb7d
btrbk: run_cmd: fix regression: dont print ssh errors
...
Explicitely printing ssh errors (or even warnings) is
inconsistent. stderr is printed outside the run_cmd framework if
needed.
reverts a80e05984a
btrbk: catch ssh errors
See ssh(1):
ssh exits with the exit status of the remote command or with 255
if an error occurred.
Note that this includes network errors as well as dns failures
2019-12-15 19:12:06 +01:00
Axel Burri
9e13dbd933
btrbk: init sroot as late as possible when expanding wildcards
2019-12-15 19:10:01 +01:00
Axel Burri
37b30caeb2
btrbk: bugfix: vinfo_match: skip match against invalid paths
...
Dont check url_regex if $vinfo->{URL} is not a valid path (e.g. when
checking against a "volume" or "subvolume" having wildcards):
"Use of uninitialized value in join or string" at line 3030
2019-12-14 17:06:15 +01:00
Axel Burri
c36890e1eb
btrbk: change version to 0.29.1-dev
2019-12-14 17:05:54 +01:00
Axel Burri
a447c4b939
documentation: btrbk.conf.5: add note about ssh_compression / stream_compress relation
2019-12-07 14:07:56 +01:00
asymmetric
3694a38670
documentation: README.md: replace pv with mbuffer
...
Since 0.29, mbuffer is used instead of pv.
2019-10-30 18:24:35 +01:00
Axel Burri
b64ffbacf5
change version to 0.29.0; update ChangeLog
2019-10-27 14:00:40 +01:00
Ryan Young
0f21df15c2
ssh_filter_btrbk.sh: whitelist mkdir for 'btrbk archive' operations
2019-10-27 12:24:00 +01:00
Asbjørn Apeland
2d7f5ec5fe
contrib: systemd: btrbk.timer: change install target
...
Using `WantedBy=multi-user.target` makes boot wait for btrbk.service
before it's considered "finished". This can be checked by running
`systemd-analyze` or checking the system log using `journalctl`.
Timers should use the "timers.target" target, see systemd.special(7).
2019-10-27 12:24:00 +01:00
Axel Burri
a109a58b35
documentation: btrbk.1: cosmetics
2019-09-08 18:23:30 +02:00
Axel Burri
3631cf6c7f
ssh_filter_btrbk.sh: cosmetics: show unsafe character
2019-09-08 18:23:30 +02:00
Axel Burri
8551a9f52a
btrbk: consistently use "subvolume" (instead of "subvol") for table headings
2019-09-08 18:23:30 +02:00
Axel Burri
5e87e8248b
btrbk: add --pretty option: print lowercase column headings with separator line
2019-09-08 18:23:30 +02:00
Axel Burri
4629d5ae11
btrbk: change table output format: remove separator line, uppercase column headings
...
Print table output column headings single-line uppercase instead of
lowercase and underlined.
This is common ascii table format, is easy parseable and offers better
readability e.g. in pager.
2019-09-08 18:23:30 +02:00
Axel Burri
485bc3ab0c
btrbk: use global stderr (replace err); refeactor filter_stderr, add fatal_stderr
...
if fatal_stderr is set and returns true, the command exit code is set
to -1, resulting in run_cmd() returning undef.
2019-09-08 18:23:30 +02:00
Axel Burri
360c8918bb
btrbk: catch verbose errors from readlink
...
readlink -v enables "report error messages", printing useful errors
like:
readlink: /some/dir/: Permission denied
readlink: /some/dir/: No such file or directory
2019-09-08 18:23:30 +02:00
Axel Burri
6e4aeae323
btrbk: cosmetics: enhance trace log
2019-09-08 18:23:30 +02:00
Axel Burri
d0f0c18f64
btrbk: logging functions take array as argument
2019-09-08 18:23:29 +02:00
Axel Burri
fa3334cbb7
btrbk: btrfs_subvolume_list_readonly_flag: dont die on parse errors
2019-09-08 18:23:29 +02:00