Hej.
Jeg har gennem et års tid eller deromkring brugt rdiff-backup til at
tage backup af mit hjemmekatalog til en anden maskine - det foregår
via et cron-script der kører ved boot.
Det har virket fint, og de par gange jeg har haft brug for at finde en
fil jeg lige havde slettet, har det været smertefrit.
Så langt så godt.
Forleden tændte jeg computeren og slukkede den inden rdiff-backup var
færdig. Ikke pænt at gøre, men det svarer jo sådan set bare til (noget
lidt mindre end) et strømsvigt på et uheldigt tidspunkt.
Siden da dør rdiff-backup hver gang prøver at tage backup - der kommer
et fint Python-backtrace, som ikke er mig til megen hjælp.
Ikke lige den slags robusthed jeg synes er bedst i en
backup-løsning...
Er der nogen der har oplevet det samme og fundet en løsning?
Her er backtrace't:
asjo@topper
$ /usr/bin/rdiff-backup --exclude '/home/asjo/video' --exclude '/home/asjo/pics' --exclude '/home/asjo/sound' --print-statistics /home/asjo/ virgil::/var/local/backup/topper/
Exception '' raised of class 'exceptions.AssertionError':
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 271, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 328, in Backup
backup_final_init(rpout)
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 425, in backup_final_init
checkdest_if_necessary(rpout)
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 820, in checkdest_if_necessary
need_check = checkdest_need_check(dest_rp)
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 810, in checkdest_need_check
if not force: curmir_incs[0].conn.regress.check_pids(curmir_incs)
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 448, in __call__
return apply(self.connection.reval, (self.name,) + args)
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 367, in reval
for arg in args: self._put(arg, req_num)
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 139, in _put
else: self._putobj(obj, req_num)
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 144, in _putobj
self._write("o", pickle.dumps(obj, 1), req_num)
File "/usr/lib/python2.3/pickle.py", line 1386, in dumps
Pickler(file, protocol, bin).dump(obj)
File "/usr/lib/python2.3/pickle.py", line 231, in dump
self.save(obj)
File "/usr/lib/python2.3/pickle.py", line 293, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.3/pickle.py", line 614, in save_list
self._batch_appends(iter(obj))
File "/usr/lib/python2.3/pickle.py", line 647, in _batch_appends
save(x)
File "/usr/lib/python2.3/pickle.py", line 293, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.3/pickle.py", line 737, in save_inst
stuff = getstate()
File "/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line 754, in __getstate__
assert self.conn is Globals.local_connection
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 271, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 328, in Backup
backup_final_init(rpout)
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 425, in backup_final_init
checkdest_if_necessary(rpout)
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 820, in checkdest_if_necessary
need_check = checkdest_need_check(dest_rp)
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 810, in checkdest_need_check
if not force: curmir_incs[0].conn.regress.check_pids(curmir_incs)
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 448, in __call__
return apply(self.connection.reval, (self.name,) + args)
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 367, in reval
for arg in args: self._put(arg, req_num)
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 139, in _put
else: self._putobj(obj, req_num)
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 144, in _putobj
self._write("o", pickle.dumps(obj, 1), req_num)
File "/usr/lib/python2.3/pickle.py", line 1386, in dumps
Pickler(file, protocol, bin).dump(obj)
File "/usr/lib/python2.3/pickle.py", line 231, in dump
self.save(obj)
File "/usr/lib/python2.3/pickle.py", line 293, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.3/pickle.py", line 614, in save_list
self._batch_appends(iter(obj))
File "/usr/lib/python2.3/pickle.py", line 647, in _batch_appends
save(x)
File "/usr/lib/python2.3/pickle.py", line 293, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.3/pickle.py", line 737, in save_inst
stuff = getstate()
File "/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line 754, in __getstate__
assert self.conn is Globals.local_connection
AssertionError
Fatal Error: Lost connection to the remote system
asjo@topper
$
På desktoppen (topper) har jeg version 1.1.5-1, på den anden maskine
(virgil) en backport, version 1.1.5-0bpo1.
Mvh.
Adam
--
"Faktum er, at Delphi er det bedste all-round værktøj, Adam Sjøgren
der eksisterer i dag. Og mest produktive." asjo@koldfront.dk