forked from digint/btrbk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
337 lines (279 loc) · 13.9 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
btrbk-0.27.0
* MIGRATION
- Run "btrbk prune --dry-run --print-schedule" and check if any
snapshots/backups would get deleted [1] [2]. If you want to
forcibly preserve a snapshot/backup forever, rename it (btrbk
ignores subvolumes with unknown naming scheme), e.g.:
"mv mysubvol.YYYYMMDD mysubvol.YYYYMMDD.keep_forever"
- Update ssh_filter_btrbk.sh on remote hosts (btrbk always calls
"readlink" and "cat /proc/self/mountinfo").
* Add "preserve_hour_of_day" configuration option (close #202).
* Allow backup of filesystem root using "subvolume ." (close #240).
* Add "-S" command line option (shortcut for --print-schedule).
* Bugfix: correct scheduling of "first weekly backup in month/year"
(close #217) [1] [2].
* Bugfix: add "btrfs filesystem usage" backend mapping (close #222).
* Bugfix: do not fail (exitcode=10) if targets are not accessible on
"btrfs snapshot --preserve".
* Bugfix: if "incremental no" is configured on target, do not keep
latest common snapshot.
* Enhance internal data structures:
- Allow snapshot_dir to be a mountpoint.
- Search complete target tree for correlated subvolumes.
- Include snapshots from all mountpoints as candidates (disabled
due to uptream bug: github.com/kdave/btrfs-progs/issues/96).
- Read /proc/self/mountinfo instead of /proc/self/mounts.
- Always read /proc/self/mountinfo.
- Resolve realpath using readlink(1).
* Fallback to "asciidoctor" for manpage generation (close #219).
[1] https://github.com/digint/btrbk/issues/217
[2] https://github.com/digint/btrbk/commit/719fb5f
btrbk-0.26.1
* Add "archive_exclude" configuration option.
* Add warning on redefined configuration option.
* Bugfix: fix parsing of "openssl_iv_size" configuration option.
* Bugfix: fix filter statement matching for volume=/ (close #209).
btrbk-0.26.0
* MIGRATION
- If you are using raw targets, make sure to run the
"raw_suffix2sidecar" utility in each target directory.
* Support for btrfs-progs v4.13.2: adapt parsing of "btrfs sub list"
output (close #192).
* Add "resume" command, replacement for "-r, --resume-only" command
line option (which is now deprecated).
* Add "snapshot" command (close #150).
* Add "prune" command.
* Add "--preserve-snapshots" and "--preserve-backups" options.
* Add "--wipe" command line option (close #173).
* Change raw backup format (sidecar file instead of uuid in file).
* Honor target_preserve for raw targets (delete raw targets).
* Add symmetric encryption for raw targets (close #157).
* Add "{snapshot,target,archive}_qgroup_destroy" configuration
options (close #49, #189).
* Do not run in "perl taint mode" by default: remove "perl -T" in
hashbang; hardcode $PATH only if taint mode is enabled.
* Remove "duration" column from transaction_log/transaction_syslog.
* Resolve ancestors (recursive on parent_uuid chain) when searching
for latest common subvolume.
* Generate man pages from asciidoc (remove raw groff sources).
* Bugfix: ssh_filter_btrbk: accept mbuffer command (stream_buffer).
* Bugfix: print correct (end-)time in transaction_log.
* Bugfix: check path when expanding wildcards (close #181).
* Bugfix: never show failed deletes in summary (close #183).
btrbk-0.25.1
* Support for btrfs-progs v4.12: fix parsing of "btrfs sub show"
output, which now prints relative paths (close #171).
* Add "stream_buffer" configuration option (close #154).
* Bugfix: accept "no" for "transaction_log", "transaction_syslog"
and "lockfile" configuration options.
* Show "up-to-date" status for backups in "stats" command.
* Show "correlated" status instead of "orphaned" in "stats" command.
* Check source subvolumes for readonly and received_uuid flags, and
abort if one of them is set.
btrbk-0.25.0
* MIGRATION
- If you call ssh_filter_btrbk.sh with "--sudo" option, make sure
to set "backend btrfs-progs-sudo" in btrbk.conf for this host.
- If "rate_limit" is enabled, update ssh_filter_btrbk.sh on remote
source hosts, and make sure the "pv" command is available there.
* Allow converting backup disks to source disks (close #114).
* Add "backend btrfs-progs-sudo" configuration option (close #115).
* Show aggregate "size" and "used" for "usage" action (close #119).
* Add "raw_target_split" configuration option (close #125).
* Allow trailing comments in btrbk.conf (close #129).
* Bugfix: rate limiting must be done after compression (close #134).
* raw_target_encrypt: Always set "gpg --no-random-seed-file":
prevents creation of "~/.gnupg/random_seed" with slight perfomance
penalty.
btrbk-0.24.0
* MIGRATION
- update ssh_filter_btrbk.sh on remote hosts if "stream_compress"
is enabled. Also add "--compress" option to ssh_filter_btrbk.sh
invocation if "stream_compress" is enabled.
* Add "stream_compress" configuration option.
* Perform extra metadata check on target subvolume after "btrfs
receive" (adds an additional call to "btrfs subvolume show").
* Bugfix: Replace "realpath" with "readlink" in ssh_filter_btrbk.sh
* Add "raw_target_block_size" configuration option (close #105).
* Add "backend" configuration option (experimental).
* Bugfix: fix "list latest" with no snapshots (close #111).
* Support for btrfs-progs v4.8.3: fix parsing of "btrfs sub show"
output, which has changed for toplevel subvolume.
btrbk-0.23.3
* Replace "realpath -e" with "readlink -e" for mountpoint discovery
(close #92).
* Dynamically set BINDIR in btrbk.service by Makefile.
* Add ChangeLog to DOCDIR in Makefile.
btrbk-0.23.2
* Added "lockfile" configuration option and --lockfile command line
option (close: #81).
* Bugfix: raw targets: correctly handle multiple backups in same
target directory (close: #87).
* Use relative instead of absolute binary calls in btrbk-mail.
btrbk-0.23.1
* Bugfix: set correct parent section when propagating targets
(close: #85).
* Add syslog output of transaction log (close #82).
* Do not print headers to transaction log anymore.
* Explain "orphaned" status in "stats" command, and suppress it on
"list backups" command (close: #76).
btrbk-0.23.0
* INCOMPATIBLE CONFIGURATION:
* Please read "doc/upgrade_to_v0.23.0.md" for details on updating
the configuration file (/etc/btrbk/btrbk.conf).
* Dropped "btrfs_progs_compat" option. Need btrfs-progs >= v3.18.
* Removed "resume_missing" configuration option.
* Create backups only if needed to satisfy retention policy.
* Preserve FIRST backup of hour/day/week/month instead of LAST.
* Replaced "{snapshot,target}_preserve_{daily,weekly,monthly}"
configuration options with "{snapshot,target}_preserve_min" and
"{snapshot,target}_preserve NNh NNd NNw NNm NNy" options.
* Added hourly/yearly retention policies (close: #36, #69).
* Allow regular directories for send-receive targets (close: #77).
* Allow wildcards in subvolume section (close: #71).
* Propagate targets defined in "volume" or "root" context to all
"subvolume" sections (close: #78).
* Added "archive" command (close: #79).
* Changed output format of "origin" command, add table formats.
* Added configuration option "rate_limit" (close: #72).
* Added new timestamp_format "long-iso", having a timezone postfix.
* Added "--print-schedule" command line option.
* Detect interrupted transfers of raw targets (close: #75).
* Always read "readonly" flag (additional call to btrfs-progs).
* Warn on receive targets at unexpected location (instead of abort).
* On incremental send/receive, use all snapshots sharing same
parent_uuid as candidates for "-p <parent>" instead of only older
snapshots. As last resort, use subvolumes in snapshot_dir matching
btrbk file name scheme as candidates (which allows incremental
backups after the parent vanished, e.g. after backup restore).
* Use perl built-in Time::Local instead of Date::Calc.
* Improvements of internal data structures.
btrbk-0.22.2
* Bugfix: fix checks on "btrfs sub show" output, which resulted in
breakage on btrfs-progs < 4.1 (close: #68).
btrbk-0.22.1
* Support for btrfs-progs v4.4 (close: #66).
btrbk-0.22.0
* Bugfix: fix monthly schedule if older than 10 weeks (close: #59).
* Bugfix: fix sprintf used by config option "timestamp_format long"
when using perl-5.22.0 (close: #57).
* Bugfix: fix "--progress" option (close: #64).
* Added "clean" command (close: #61).
* Added "-n, --dry-run" option.
* Added configuration options "raw_target_compress_level",
"raw_target_compress_threads" (close: #60).
* Added "stats" command (close: #54).
* Print "$hostname:$path" instead of "{$hostname}$path" in summary
and logs.
btrbk-0.21.0
* Added transaction log (configuration option "transaction_log").
* Added configuration option "group".
* Allow filtering of all commands by group as well as targets.
* Added "list backups|snapshots|latest|config|source|volume|target"
commands (while removing "tree" command).
* Added "config print" command.
* Added "--format=table|long|raw" and "-t,--table" command line
options, producing tabular and raw (machine-readable) output for
"(dry)run", "tree" and "list" commands.
* Print scheduler details if -v option is set on action run/dryrun.
* Added configuration option "ssh_cipher_spec" (close: #47).
* Added "target raw", with GnuPG and compression support
(experimental).
* Added configuration option "timestamp_format short|long".
* Replaced "info" command with "usage", with tabular output.
* Bugfix: correctly handle "incremental no" option.
* Bugfix: return exit status 10 instead of 0 if one or more backup
tasks aborted.
* Better error handling for send/receive commands (close: #33).
* Hardened ssh_filter_btrbk.sh script: fine-grained access control,
restrict-path option, sudo option (close: #45).
* Added example cron script.
btrbk-0.20.0
* Added configuration option "ssh_port" (close: #39).
* Added configuration option "ssh_compression" (close: #44).
* Added command line option "--progress" (close: #42).
* Bugfix: correct handling of empty "snapshot_dir" (close: #43).
* Accept long options on command line.
* Documentation: added FAQ.
btrbk-0.19.3
* Bugfix: fix sorting of dates in schedule().
* Bugfix: correct parsing of btrfs subvolume list (close: #28).
* Support for btrfs-progs v4.1-rc1.
btrbk-0.19.2
* Bugfix: fix crash when using btrfs-progs < 3.17.3 (close: #24).
btrbk-0.19.1
* Use "cgen" for snapshot comparison.
* Bugfix: fix crash in summary display (close: #22).
btrbk-0.19.0
* 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).
* Improved handling of command line subvolume filter for "run",
"dryrun" and "tree" actions (close: #21).
* Bugfix: fixed crash in action "diff".
btrbk-0.18.0
* MIGRATION
- update ssh_filter_btrbk.sh on all remote hosts
- update configuration file (/etc/btrbk/btrbk.conf):
- "snapshot_create_always yes" -> "snapshot_create always"
- "snapshot_create_always no" -> "snapshot_create ondemand"
* Set PATH variable instead of using absolute "/sbin/btrfs" for
compatibility with all linux distros out there, which all install
'btrfs' in different locations (close: #20).
* Added configuration option "snapshot_create", replacing option
"snapshot_create_always". This allows setups with multiple btrbk
instances on several hosts (close: #18).
* Added command line option -r (resume only).
* Catch and display errors from "btrfs subvolume show".
* Include systemd service and timer unit for daily backups.
btrbk-0.17.1
* Bugfix: send/receive: delete possibly left-behind garbled
subvolume on failure. Fail with unrecoverable error if stray
target subvolume is in the way (close: #17).
* Bugfix: assume unreachable target as clean on snapshot creation if
snapshot_create_always is set (close: #19).
btrbk-0.17.0
* New versioning scheme using more common three-level versions.
* Code refactoring: cleanup of data structures and handling of btrfs
subvolume tree, as well as security related code parts.
* Correct handling of symlinks to btrfs subvolumes (close: #12).
* Added configuration option "snapshot_name" (close: #5).
* Log messages now go to stderr, only the summary is printed on
stdout.
* Bugfix: allow "0" as subvolume name (close: #10).
* Bugfix: allow "/" as volume name (close: #15).
* Bugfix: check source AND targets for determining snapshot postfix
(close: #11).
* Bugfix: fixed "diff" action (colses: #14).
* Allow '+' character for subvolume names.
* Filesystems on remote hosts are now printed as
"{my.remote-host.com}" in summary and logs.
btrbk-0.16
* Bugfix: correctly check retention policy for missing backups.
btrbk-0.15
* Added configuration option "btrfs_progs_compat", to be enabled if
using btrfs-progs < 3.17 (close: #6).
* Added configuration option "resume_missing", for automatic resume
of missing backups (close: #8).
* Removed configuration option "receive_log" in favor of printing
errors from "btrfs receive".
* Bugfix: show correct exit code on external command failure.
* Bugfix: no crash if "commit_delete" option is set to "no"
btrbk-0.14
* Bugfix: correctly handle empty target subvolumes (blocker for all
new users; close: #4).
btrbk-0.13
* Bugfix: allow '@' character for subvolume names (blocker for
ubuntu users, since ubuntu prefixes all subvolumes with '@' in its
subvolume layout; close: #3).
btrbk-0.12
* Cleaner and more generic parsing of btrfs subvolume list.
* Bugfix: subvolumes are also allowed for "snapshot_dir" (close:
#1, #2).
btrbk-0.11
* Added option -p (preserve backups).
* Added optional subvolume argument for run/dryrun actions, for
explicit selection of subvolumes to be processed.
* Bugfixes
btrbk-0.10
* Initial revision.