Hi All, I love rdiff-backup. However, I don't like how fragile it is when it crashes during a backup. Let's say the client pushes some backup data to a remote server, but in the middle of a file transfer, the remote server's network goes out. The next time rdiff-backup is executed, it immediately gets an error (I've pasted it below). The error is due to some files in the remote rdiff-backup-data dir being corrupt / out of sync.
The FAQ says to manually clean up the dirty files: http://rdiff-backup.nongnu.org/FAQ.html#regress_failure This works, but I have two problems with it: it requires manual intervention; and I can't seem to clean my files without losing some backup data (maybe I'm just doing it wrong, since the FAQ claims it can be done without any data loss). Actually I have a third problem: it doesn't always work. I'm doing some crash tests and I'm having difficulty bringing my data back to life. =/ I've seen some others with the same problems, but I don't see any response: http://lists.gnu.org/archive/html/rdiff-backup-users/2007-03/msg00059.html http://lists.gnu.org/archive/html/rdiff-backup-users/2006-02/msg00078.html rsync handles this fine, since it doesn't have to deal with all these meta files. But it obviously doesn't have file revision history, which is a feature I'd like. So, how does everyone deal with problems like this? (please CC my gmail email address in your reply) Here's the actual error I receive. This occurs every time rdiff-backup is run since the files in rdiff-backup-data (on the destination server) are corrupt. The most recent call is on the bottom: ------- snip snip ------ Exception '' raised of class '<type 'exceptions.AssertionError'>': File "/usr/local/lib/python2.5/site-packages/rdiff_backup/Main.py", line 299, in error_check_Main try: Main(arglist) File "/usr/local/lib/python2.5/site-packages/rdiff_backup/Main.py", line 319, in Main take_action(rps) File "/usr/local/lib/python2.5/site-packages/rdiff_backup/Main.py", line 275, in take_action elif action == "backup": Backup(rps[0], rps[1]) File "/usr/local/lib/python2.5/site-packages/rdiff_backup/Main.py", line 332, in Backup backup_final_init(rpout) File "/usr/local/lib/python2.5/site-packages/rdiff_backup/Main.py", line 432, in backup_final_init checkdest_if_necessary(rpout) File "/usr/local/lib/python2.5/site-packages/rdiff_backup/Main.py", line 827, in checkdest_if_necessary need_check = checkdest_need_check(dest_rp) File "/usr/local/lib/python2.5/site-packages/rdiff_backup/Main.py", line 817, in checkdest_need_check if not force: curmir_incs[0].conn.regress.check_pids(curmir_incs) File "/usr/local/lib/python2.5/site-packages/rdiff_backup/connection.py", line 448, in __call__ return apply(self.connection.reval, (self.name,) + args) File "/usr/local/lib/python2.5/site-packages/rdiff_backup/connection.py", line 367, in reval for arg in args: self._put(arg, req_num) File "/usr/local/lib/python2.5/site-packages/rdiff_backup/connection.py", line 139, in _put else: self._putobj(obj, req_num) File "/usr/local/lib/python2.5/site-packages/rdiff_backup/connection.py", line 144, in _putobj self._write("o", pickle.dumps(obj, 1), req_num) File "/usr/local/lib/python2.5/pickle.py", line 1366, in dumps Pickler(file, protocol).dump(obj) File "/usr/local/lib/python2.5/pickle.py", line 224, in dump self.save(obj) File "/usr/local/lib/python2.5/pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "/usr/local/lib/python2.5/pickle.py", line 600, in save_list self._batch_appends(iter(obj)) File "/usr/local/lib/python2.5/pickle.py", line 633, in _batch_appends save(x) File "/usr/local/lib/python2.5/pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "/usr/local/lib/python2.5/pickle.py", line 723, in save_inst stuff = getstate() File "/usr/local/lib/python2.5/site-packages/rdiff_backup/rpath.py", line 760, in __getstate__ assert self.conn is Globals.local_connection ------- snip snip ------ regards, Vahid Pazirandeh
_______________________________________________ rdiff-backup-users mailing list at [email protected] http://lists.nongnu.org/mailman/listinfo/rdiff-backup-users Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki
