That just happened to me. my external drive became full half-way through rsnapshot's incremental backup:
rsync: write failed on "<path>": No space left on device (28)
Now I'd like to share a couple of things I learnt from this. ie to repair and limit considerabily chances for such a case to bite me back ;)
Resume a Rsnapshot's interrupted backup
I know two ways to roll back that safely.
Manually
- Delete the last directory (e.g. daily.0)
- Rename consecutive directories (daily.1 -> daily.0, ...); possible script1
- Run the backup as usual (again).
Automatically
rsnapshot has no pause/stop and resume capabilities (except for the limited "skipped due to rollback plan" 2), so we have to use a wrapper to handle these features.
rsnapshot-once
3 by Philipp C. Heckel is a wrapper for rsnapshot in PHP that:
- works without modifying your rsnapshot's conf
- ensure that daily, weekly and monthly tasks are run only once in the respective time period, via cron (nice for laptops)
- rollback of failed backup (checks if the last backup was complete; if not the last directory is deleted and consecutive directories are renamed eg daily1. -> daily.0, ...)
Using it for a year I am a happy user: I edited php.ini's openbase_dir
for my backup need and voila, lucky day ^_^ Smoother and safer than my previous raw rsnapshot based solution.
Note: slm linked me here from duplicate question: Rsnapshot destination full - how to safely rerun?