I've experienced trouble using rdiff-backup when backing up a file tree onto a new backup drive.
The backup drive (initially something like vfat) was reformatted by creating an ext4 file system on its first and only partition.
Subsequently asking rdiff-backup to back up /farhome/hendrik onto /usbackup/backup-by-rdiff/april/farhome--hendrik (creating the necessary directories first; abd usbackup is where the new backup drive's one partition is mounted)
I get error messages.
FIRST:
A lot of complaints that it has trouble reading an ACL because th utf-8 codec cannot encode character \udsf1.
So where could it get thes character from?
The file it's complaining about is /usbackup/backup-by-rdiff/april/farhome--hendrik/amiga/susehendrik/amiga/foo/emulation/shared/dir/system/locale/catalogs/espa�ol
This is clearly a file on the backup disk, which is a new disk. So wouldn't it have to have put this character there itself?
There are a lot of error message like this. Now I don't use access control lists, as far as I know, so where are they coming from? Perhaps I should tell it not to back up ACL's?
SECOND:
Eventually it gets around to delivering a python error message:
Exception '[Errno 30] Read-only file system' raised of class '<class 'OSError'>':
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 395, in error_check_Main
Main(arglist)
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 417, in Main
take_action(rps)
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 353, in take_action
Backup(rps[0], rps[1])
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 442, in Backup
backup.Mirror(rpin, rpout)
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 39, in Mirror
DestS.patch(dest_rpath, source_diffiter)
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 269, in patch
ITR(diff.index, diff)
File "/usr/lib/python3/dist-packages/rdiff_backup/rorpiter.py", line 313, in __call__
last_branch.fast_process(*args)
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 587, in fast_process
if self.patch_to_temp(mirror_rp, diff_rorp, tf):
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 612, in patch_to_temp
result = self.patch_snapshot_to_temp(diff_rorp, new)
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 659, in patch_snapshot_to_temp
(diff_rorp, new))
File "/usr/lib/python3/dist-packages/rdiff_backup/robust.py", line 35, in check_common_error
return function(*args)
File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 148, in copy
return copy_reg_file(rpin, rpout, compress)
File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 181, in copy_reg_file
return rpout.write_from_fileobj(rpin.open("rb"), compress=compress)
File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1475, in write_from_fileobj
copyfileobj(fp, outfp)
File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 90, in copyfileobj
outputfp.write(inbuf)
Suddenly it cannot write on a file system. Presumably the backup drive? The one it has already filled with 215831712 iK blocks and has abother 1608278664 available?
Then more complaints about banned unicode characters, and then another similar backtrace ending with
OSError: [Errno 30] Read-only file system
Is anyone else having problems like these? Is rdiff-backup busted? Or is my new backup drive or my USB interface busted?
-- hendrik