rdiff-backup-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[rdiff-backup-users] rdiff-backup when disk is full (was: Re: Trace when


From: Frederik
Subject: [rdiff-backup-users] rdiff-backup when disk is full (was: Re: Trace when listing backup and not enough permissions)
Date: Thu, 31 May 2007 10:00:29 +0200

On 5/28/07, Frederik <address@hidden> wrote:
When I run rdiff-backup --list-increment-sizes by accident on a
directory to which I do not have enough permissions, rdiff-backup will
show a complete trace, which makes the real error more difficult to
spot, and which just looks plain ugly. Can the trace be silenced, so
only a clear error message is shown?

And a similar problem, when disk is full:

address@hidden:/home/star27back# rdiff-backup --check-destination-dir backup
Exception '[Errno 28] No space left on device' raised of class
'exceptions.IOError':
 File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
295, in error_check_Main
   try: Main(arglist)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
315, in Main
   take_action(rps)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
273, in take_action
   elif action == "check-destination-dir": CheckDest(rps[0])
 File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
781, in CheckDest
   dest_rp.conn.regress.Regress(dest_rp)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/regress.py",
line 71, in Regress
   for rf in iterate_meta_rfs(mirror_rp, inc_rpath): ITR(rf.index, rf)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/rorpiter.py",
line 281, in __call__
   last_branch.fast_process(*args)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/regress.py",
line 267, in fast_process
   if rf.metadata_rorp.isreg(): self.restore_orig_regfile(rf)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/regress.py",
line 295, in restore_orig_regfile
   rf.mirror_rp.write_from_fileobj(rf.get_restore_fp())
 File "/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line
1045, in write_from_fileobj
   copyfileobj(fp, outfp)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line
60, in copyfileobj
   outputfp.write(inbuf)

Traceback (most recent call last):
 File "/usr/bin/rdiff-backup", line 23, in ?
   rdiff_backup.Main.error_check_Main(sys.argv[1:])
 File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
295, in error_check_Main
   try: Main(arglist)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
315, in Main
   take_action(rps)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
273, in take_action
   elif action == "check-destination-dir": CheckDest(rps[0])
 File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
781, in CheckDest
   dest_rp.conn.regress.Regress(dest_rp)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/regress.py",
line 71, in Regress
   for rf in iterate_meta_rfs(mirror_rp, inc_rpath): ITR(rf.index, rf)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/rorpiter.py",
line 281, in __call__
   last_branch.fast_process(*args)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/regress.py",
line 267, in fast_process
   if rf.metadata_rorp.isreg(): self.restore_orig_regfile(rf)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/regress.py",
line 295, in restore_orig_regfile
   rf.mirror_rp.write_from_fileobj(rf.get_restore_fp())
 File "/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line
1045, in write_from_fileobj
   copyfileobj(fp, outfp)
 File "/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line
60, in copyfileobj
   outputfp.write(inbuf)
IOError: [Errno 28] No space left on device

Actually, rdiff-backup is a disaster in dealing with full disks:
looking at the size of rdiff-backup-data, a lot of space is used by
old increments. Unfortunately, rdiff-backup --remove-older-than fails
because no more disk space is available! So this leaves me with a
chicken and egg problem: I have to make free space, but to free space,
I have to remove old increments, which is impossible because the disk
is full :-(

--
Frederik




reply via email to

[Prev in Thread] Current Thread [Next in Thread]