What happens if rsnapshot / rdiff-backup gets interrupted in the middle of a transfer?
My understanding is that...
rdiff-backup will detect the incomplete increment the next time it runs. It will delete the incomplete increment so that the backup location is the same as if the interrupted backup attempt had never been started.
rsnapshot is a little more complicated because its routine is more stepwise and varies depending on the use of the sync_first
and use_lazy_deletes
options.
- If you use
sync_first
andrsnapshot sync
gets interrupted, you can simply runrsnapshot sync
again to straighten things out. If you accidentally runrsnapshot <backup level>
at this point instead, the latest backup point will remain incomplete and will be carried through rotations. - If you don't use
sync_first
, you're just stuck with an incomplete backup point that is a hybrid of old and new version of files. Unless you manually reverse-rotate each backup point, the incomplete backup point will be carried through rotations. - In both cases, running
rsnapshot <backup level>
will cause the oldest backup point to be lost unlessuse_lazy_deletes
is enabled.
Note that sync_first
and use_lazy_deletes
come at the cost of using more disk space.
A reminder/disclaimer: This should go without saying, but never just blindly trust others' advice on the internet. If you plan to use rdiff-backup or rsnapshot for something mission-critical, read every word of the manual and test, test, test everything yourself!