2

My latest backup attempt with rdiff-backup failed due to "[Errno 28] No space left on device". And it's true, according to du there are 0 bytes available on the backup device.

When I now try to revert the directory to the state before the unsuccessful session by simply starting another backup attempt, I also get [Errno 28]. The next idea I had was to get rid of some old backup increments to gain some fresh disk space.

To see the list of backup increments, I invoked rdiff-backup -l mirror_dir which results in

Fatal Error: Previous backup to mirror_dir seems to have failed.
Rerun rdiff-backup with --check-destination-dir option to revert directory to state before unsuccessful session.

Then I did what the message told me and ran rdiff-backup --check-destination-dir mirror_dir which again gives me the now already famous [Errno 28]. It seems like I am in a dead end, where I cannot do anything anymore, not even free some disk space which action seems to be the only solution to this problem.

Is there a way out of this situation?

4
  • You cannot manually delete stuff?
    – PythonNut
    Jun 4, 2015 at 21:30
  • You mean that I should remove the old increments manually? How would one do that?
    – zepp133
    Jun 5, 2015 at 9:28
  • Does this volume contain only backups ? Are there no other files there that could go ? Also, rdiff-backup sometimes needs a lot of space in /tmp and throws this error when there is not enough space there. You can alleviate that problem by creating a folder on some very big volume and issuing: export TMPDIR=/path/to/massive/volume/tmp
    – thecarpy
    Jun 5, 2015 at 11:31
  • Yes, the volume contains backups exclusively. And I don't think the temporary directory has anything to do with it (yet I still tried to change it and it failed).
    – zepp133
    Jun 5, 2015 at 19:26

1 Answer 1

1

Other than growing the underlying filesystem, there isn't a good way, but that should be pretty easy — you have many options there, including getting a new, larger drive and mirroring the data over (using something like cp -a or rsync -a). The annoyance with large backup volumes is that this can take a very long time.

If you are like me and have multiple backups on the same filesystem, you can easily find space by moving a backup or large file somewhere else temporarily.

To avoid this problem, I have learned to leave a .00DOORSTOP file in my backup directory that I can rm when I need the space. I currently have the file at 1GB, which should be enough to allow me to create more space if needed — rdiff-backup needs a minimal amount of space to run (probably to create temporary files). It can't be a sparse file, obviously; I create it by using dd:

dd if=/dev/zero of=.00DOORSTOOP bs=1G count=1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .