Binary package hint: rdiff-backup
My usual backup procedure (not used since December/Edgy :-/ ) doesn’t work anymore. rdiff-backup bombs out and throws a longish traceback at me.
# /usr/bin/rdiff-backup --print-statistics --exclude '/home/*/.gnupg' --exclude '/home/*/.ssh' --exclude '/home/*/.local/share/Trash' --exclude '/home/*/.Trash' --exclude '/home/*/.thumbnails' --exclude '/home/*/.beagle' --exclude '/home/*/.opera/cache4' --exclude '/var/spool' --exclude '/var/cache' --include '/bin' --include '/boot' --include '/dev' --include '/etc' --include '/home' --include '/lib' --include '/opt' --include '/root' --include '/sbin' --include '/usr' --include '/var' --exclude '/*' / /media/backupdisk/BACKUP/
Exception '[Errno 71] Protocol error: '/dev/bus/usb/.usbfs/002/004'' raised of class '<type 'exceptions.IOError'>':
File "/var/lib/python-support/python2.5/rdiff_backup/robust.py", line 32, in check_common_error
try: return function(*args)
File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line 1024, in open
else: return open(self.path, mode)
Exception '[Errno 71] Protocol error: '/dev/bus/usb/.usbfs/002/004'' raised of class '<type 'exceptions.IOError'>':
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 295, in error_check_Main
try: Main(arglist)
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 315, in Main
take_action(rps)
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 271, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 337, in Backup
backup.Mirror(rpin, rpout)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 38, in Mirror
DestS.patch(dest_rpath, source_diffiter)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 216, in patch
for diff in rorpiter.FillInIter(source_diffiter, dest_rpath):
File "/var/lib/python-support/python2.5/rdiff_backup/rorpiter.py", line 177, in FillInIter
for rp in rpiter:
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 114, in get_diffs
else: attach_snapshot(diff_rorp, src_rp)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 87, in attach_snapshot
error_handler, rpath.RPath.open, (src_rp, "rb"))
File "/var/lib/python-support/python2.5/rdiff_backup/robust.py", line 32, in check_common_error
try: return function(*args)
File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line 1024, in open
else: return open(self.path, mode)
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 23, in <module>
rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 295, in error_check_Main
try: Main(arglist)
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 315, in Main
take_action(rps)
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 271, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 337, in Backup
backup.Mirror(rpin, rpout)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 38, in Mirror
DestS.patch(dest_rpath, source_diffiter)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 216, in patch
for diff in rorpiter.FillInIter(source_diffiter, dest_rpath):
File "/var/lib/python-support/python2.5/rdiff_backup/rorpiter.py", line 177, in FillInIter
for rp in rpiter:
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 114, in get_diffs
else: attach_snapshot(diff_rorp, src_rp)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 87, in attach_snapshot
error_handler, rpath.RPath.open, (src_rp, "rb"))
File "/var/lib/python-support/python2.5/rdiff_backup/robust.py", line 32, in check_common_error
try: return function(*args)
File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line 1024, in open
else: return open(self.path, mode)
IOError: [Errno 71] Protocol error: '/dev/bus/usb/.usbfs/002/004'
I don’t know what the significance of this device is but when I want to inspect it is not there only with an id incemented by 1, i.e. here,
/dev/bus/usb/.usbfs/002/005
On the next try the error will contain 005 and the present device will be 006.
The destination is a bipartite USB HD.
/dev/sda2 on /media/NTFS type ntfs (rw,noexec,nosuid,nodev,umask=222,utf8)
/dev/sda3 on /media/backupdisk type ext3 (rw,noexec,nosuid,nodev)
Not very reassuring for a backup program, no?
I found the source of this problem. It was not that the destination was a USB drive but that it was among the included source dirs. After excluding /dev/bus/usb the Job went through.