Please see rsbackup in git for detailed change history.
--open-noatime to rsync by default. Fixes issue #101.rsbackup-snapshot-hook now uses dmsetup rather than udevadm to query logical volumes, which should stop it spuriously rejecting some of them. Fixes issue #72.rsbackup-snapshot-hook should now cope with volume group names containing hyphens..nolink file.rsync-timeout, the old name for backup-job-timeout, has been removed.--check-unexpected option lists unexpected files found on backup devices. Fixes issue #95.--latest option to find the latest available backup. Fixes issue #92.pre- and post-access-hook must be replaced with pre- and post-device hook, and pre- and post-backup-hook must be replaced with pre- and post-volume-hook.decay-limit, decay-start, decay-window, hook-timeout, keep-prune-logs, max-age, min-interval, prune-age, prune-logs, rsync-timeout and ssh-timeout now require the units suffix introduced in release 7.0.rsync-remote directive allows control over the remote rsync command.rsync --link-dest option is used in a more subtle way. The most recent complete backup is always used if possible, but if there are more recent incomplete backups then the latest of those is used as well. Fixes issue #77.decay-scale prune parameter is no longer constrained to be an integer. Fixes issue #87.rsync-timeout directive has been renamed backup-job-timeout. Advance warning: In some future version the old name will be removed.rsync-io-timeout directive is added, corresponding to the rsync --timeout directive. Fixes issue #80.rsbackup-graph --fonts will list known font families. Fixes issue #81.--forget-only improved. Fixes issue #90.prune-timeout directive only generate diagnostics if --verbose is used. Fixes issue #89.rsbackup.cron removed. Fixes issue #88.--force option is extended to override backup policies./etc/rsbackup/defaults, the hourly, daily, weekly and monthly settings are gone. Instead, use backup policies. Fixes issue #59.pre,post)-(device,volume)-hook. Advance warning: In some future version the old names will be removed.pre-volume-hook and post-volume-hook can be suppressed (e.g. in a volume that has inherited a hook from its host) by passing an empty command.. Fixes issue #71.RSBACKUP_STATUS, RSBACKUP_DEVICE and RSBACKUP_STORE are no longer provided to volume hooks. pre-volume-hook output is no longer logged as part of a backup record.pre-volume-hook is now run only once, before all backups of a volume, and post-volume-hook is now run only once, after all backups of a volume. Fixes issue #17.rsync-link-dest directive allows use of the rsync --link-dest option to be suppressed, for instance to deal with volumes which only have constantly changing files. Fixes issue #70.decay-limit, decay-start, decay-window, hook-timeout, keep-prune-logs, max-age, min-interval, prune-age, prune-logs, rsync-timeout and ssh-timeout now include a units suffix. Advance warning: In some future version the suffix will be mandatory.prune-timeout directive allows an upper bound to be placed on the amount of time spent pruning, to avoid pruning 'crowding out' other activity. Fixes issue #66.always-up directive has been removed. Instead, use host-check always-up.min-backups and prune-age directives have been removed. Instead, use prune-parameter min-backups and prune-parameter prune-age.public, always-up and check-mounted directives are now mandatory.colors and report-prune-logs directives have been removed. Use colors-good, colors-bad and report instead.exec prune policy now uses absolute timestamps instead of ages. This is a side-effect of fixing issue #49 (see below).group directive for fine-grained control and issue #18 for discussion.data: URLs. This improves interoperability with GMail. Fixes issue #54.database directive controls the database filename. Fixes issue #55.backup-policy directive for fine-grained control over backup frequency. The default remains one backup per day but backup filenames have changed to reflect the possibility of more than one. Fixes issue #49.store and store-pattern in rsbackup(5) and --unmounted-store in rsbackup(1) for options to restore the previous behavior. Fixes issue #42./var/lib/rsbackup/snapshots. Fixes issue #28. If you use snapshots you must adjust your configuration.host-check directive controlling how to test whether hosts are up or down. Fixes issue #26. always-up directive is now deprecated and will produce a warning. In some future version it will be removed.rsync, and are not supported by the version installed under macOS; also this feature can also cause some trouble with Windows filesystems. Set the rsync-extra-options as discussed in rsbackup(5) to work around this. Fixes issue #37 and issue #41.--retire option now always requests confirmation from the user. Fixes issue #38.--forget-only option used with --retire to drop database records for backups without deleting the backups themselves. Fixes issue #41.pre-backup-hook scripts may now exit with a distinct exit status to indicate a transient failure, equivalent to a check-file or check-mounted test failing. Addresses issue #43.rsbackup-graph, has been introduced. This generates a graphical representation of available backups.colors directive is now split into colors-good and colors-bad which can take either RGB or HSV parameters. colors directive is now deprecated and will produce a warning. In some future version it will be removed.report directive. report-prune-logs directive is now deprecated and will produce a warning. In some future version it will be removed..deb build. Fixes Debian bug #793716..deb is removed. Fixes Debian bug #810335.install rather than cp during .deb builds..deb build dependencies.PRUNING section of the man page for further information. The default behavior matches previous versions. Fixes issue #7. min-backups and prune-age directives are now deprecated in their current form and will produce a warning. In some future version they will be removed. Instead, use prune-parameter min-backups and prune-parameter prune-age.public, always-up, check-mounted and traverse directives now take an explicit boolean argument. Using them without an argument is now deprecated (but has not changed in meaning). In some future version the argument will become mandatory.rsync-timeout and hook-timeout directives are now inherited, as documented. ssh-timeout becomes inherited too. The sendmail directive is now documented.-”.--dump-config --verbose now annotates its output. Some options missed by --dump-config are now output.rsbackup.cron will always run the prune and report steps, even if the earlier steps fail.rsbackup-snapshot-hook copes better with aliases for logical volumes. Fixes issue #23.report-prune-logs configuration setting.--dry-run mode. The environment variables RSBACKUP_ACT can be used by the script to distinguish the two situations. rsbackup-snapshot-hook has been modified accordingly. Fixes issue #9.check-mounted option verifies that a volume is mounted before backing it up. Fixes issue #13.store-pattern option allows stores to be specified by a glob pattern instead of individually. Fixes issue #5.stylesheet and colors options allow operator control of the stylesheet and coloration in the HTML version of the report. Fixes issue #6.lock are now documented. Fixes issue #20.rsbackup no longer depend on Bash.priority option. Fixes issue #19.always-up option is slightly modified: backups of always-up hosts are attempted, resulting in error logs, even if they do not seem to be available. Fixes issue #22.--database option allows the path to the database to be overridden.--dump-config option.rsbackup.cron when it has been removed. Fixes Debian bug #766455.--store are now more accurate. Fixes issue #10.include command now skips filenames that start with #. Fixes issue #12.rsbackup-snapshot-hook no longer fails if fsck finds and fixes errors. It is also now tested. Fixes issue #15.--dump-config option to verify configuration file parse.--check option to rsbackup-mount.--force option no longer implies the --verbose option. (This was a bug.)RSBACKUP_STATUS value passed to post-backup hook. (Bug spotted by Jacob Nevins.)--retire no longer fails if a host directory has already been removed.rsbackup as some other operation.--html option (Jon Amery).--prune-incomplete option, which wouldn't work in the absence of some other option (Jacob Nevins).pre-access-hook and post-access-hook options support running “hook” scripts before and after any access to backup storage devices.pre-backup-hook and post-backup-hook options support running “hook” scripts before and after a backup. Although these can be used for any purpose, the motivation is to enable the creation of LVM snapshots of the subject filesystems (and their destruction afterwards), resulting in more consistent backups. The supplied hook script only knows about the Linux logical volume system.devices option allows a host or volume to be restricted to a subset of devices, identified by a filename glob pattern.rsync-timeout option allows a time limit to be imposed on a backup.check-file option allows backups of a volume to be suppressed when it is not available (for instance, because it is only sometimes mounted).--verbose (and therefore --dry-run) is now more verbose.--text and --html now accept - to write to standard output.rsbackup-mount now supports unencrypted devices and separate key material files (contributed by Matthew Vernon).--prune honours command-line selections again.--logs option controls which logfiles are included in the HTML report. The default is to only include the logfile of the most recent backup if it failed. Also, if the most recent attempt to backup a volume to a given device failed, its heading is highlighted (in red).--version options. Single-letter command line options are now supported (in fact they existed in many cases already but weren’t documented).. and ....incomplete files used by the Perl script to indicate partial backups are now created by the C++ version too. They are created both before starting a backup and before pruning it. rsbackup itself does not rely on them itself but they are an important hint to the operator when doing bulk restores.--no-errors option.--warn-store is given, but if no configured store is present then the problems found with all configured stores are listed. The documentation on how to set up stores has also been clarified.rsbackup has been rewritten in C++. The behaviour is largely same except as follows:
--text option generates a plaintext version of the report. In addition the email report includes both the text and HTML versions.--prune-unknown is removed. It is replaced by --retire, which is used to remove backups of volumes (and hosts) that are no longer in use and --retire-device which is used to remove logs for devices that are no longer in use.rsync command now includes the --delete option, meaning that interrupted backups no longer include stray files from the first attempt..incomplete files are no longer created. Instead the logs are used to distinguish complete from incomplete backups.--warn- options to control what is warned about.always-up option to indicate that a host is expected to always be available to back up.