Hello, I'm hoping that someone with more rdiff-backup / python experience can help me figure this out. I have a backup of my root filesystem that I am trying to restore. But the restore fails while trying to remove a non-empty directory... I have tried rdiff-backup 1.28 from Centos stable branch and also 1.33 built from source. Same scenario for both. I don't care about the data, just trying to figure out the issue with rdiff-backup.
The command is this: rdiff-backup --terminal-verbosity 9 --force --exclude-globbing-filelist /tmp/excludelist -r 1266948364 /root/snapshots / In the exclude list are typical things like /dev, /tmp, /proc, and of course the directory containing the snapshot. There are no NFS mounts involved or anything like that. All is local. What's odd is that the directory it is trying to remove is nothing special. I was able to manually remove it just fine: [r...@bptest rdiff-backup-1.3.3]# rm -r /cluster/shadow/db/acdmis/run/ rm: descend into directory `/cluster/shadow/db/acdmis/run/'? y rm: remove regular file `/cluster/shadow/db/acdmis/run//navigator.pid'? y rm: remove directory `/cluster/shadow/db/acdmis/run/'? y See below, the snippet from the verbose console leading up to the error and then the error itself: Wed Feb 24 07:53:29 2010 Processing changed file cluster/online Wed Feb 24 07:53:29 2010 Processing changed file cluster/online/bptest Wed Feb 24 07:53:29 2010 Regular copying ('cluster', 'online', 'bptest') to /cluster/online/rdiff-backup.tmp.1577 Wed Feb 24 07:53:29 2010 Writing file object to /cluster/online/rdiff-backup.tmp.1577 Wed Feb 24 07:53:29 2010 Hash e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e of cluster/online/bptest verified Wed Feb 24 07:53:29 2010 Copying attributes from ('cluster', 'online', 'bptest') to /cluster/online/rdiff-backup.tmp.1577 Wed Feb 24 07:53:29 2010 Setting time of /cluster/online/rdiff-backup.tmp.1577 to 1266948306 Wed Feb 24 07:53:29 2010 Renaming /cluster/online/rdiff-backup.tmp.1577 to /cluster/online/bptest Wed Feb 24 07:53:29 2010 Processing changed file cluster/shadow Wed Feb 24 07:53:29 2010 Copying attributes from ('cluster', 'online') to /cluster/online Wed Feb 24 07:53:29 2010 Setting time of /cluster/online to 1266947702 Wed Feb 24 07:53:29 2010 Processing changed file cluster/shadow/db Wed Feb 24 07:53:29 2010 Processing changed file cluster/shadow/db/acdmis Wed Feb 24 07:53:29 2010 Regular copying ('cluster', 'shadow', 'db', 'acdmis') to /cluster/shadow/db/rdiff-backup.tmp.1578 Wed Feb 24 07:53:29 2010 Processing changed file cluster/shadow/db/acdmis/run Wed Feb 24 07:53:29 2010 Regular copying ('cluster', 'shadow', 'db', 'acdmis', 'run') to /cluster/shadow/db/acdmis/rdiff-backup.tmp.1579 Wed Feb 24 07:53:29 2010 Processing changed file cluster/shadow/db/data Wed Feb 24 07:53:29 2010 Removing directory /cluster/shadow/db/acdmis/run Wed Feb 24 07:53:29 2010 Exception '[Errno 39] Directory not empty: '/cluster/shadow/db/acdmis/run'' raised of class 'exceptions.OSError': File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 306, in error_check_Main try: Main(arglist) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 326, in Main take_action(rps) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 292, in take_action elif action == "restore-as-of": Restore(rps[0], rps[1], 1) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 589, in Restore inc_rpath, dest_rp, time) File "/usr/lib/python2.4/site-packages/rdiff_backup/restore.py", line 37, in Restore TargetS.patch(target, diff_iter) File "/usr/lib/python2.4/site-packages/rdiff_backup/restore.py", line 293, in patch ITR(diff.index, diff) File "/usr/lib/python2.4/site-packages/rdiff_backup/rorpiter.py", line 277, in __call__ if self.finish_branches(index) is None: File "/usr/lib/python2.4/site-packages/rdiff_backup/rorpiter.py", line 229, in finish_branches to_be_finished.end_process() File "/usr/lib/python2.4/site-packages/rdiff_backup/restore.py", line 672, in end_process self.base_rp.rmdir() File "/usr/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 993, in rmdir self.conn.os.rmdir(self.path) Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 30, in ? rdiff_backup.Main.error_check_Main(sys.argv[1:]) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 306, in error_check_Main try: Main(arglist) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 326, in Main take_action(rps) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 292, in take_action elif action == "restore-as-of": Restore(rps[0], rps[1], 1) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 589, in Restore inc_rpath, dest_rp, time) File "/usr/lib/python2.4/site-packages/rdiff_backup/restore.py", line 37, in Restore TargetS.patch(target, diff_iter) File "/usr/lib/python2.4/site-packages/rdiff_backup/restore.py", line 293, in patch ITR(diff.index, diff) File "/usr/lib/python2.4/site-packages/rdiff_backup/rorpiter.py", line 277, in __call__ if self.finish_branches(index) is None: File "/usr/lib/python2.4/site-packages/rdiff_backup/rorpiter.py", line 229, in finish_branches to_be_finished.end_process() File "/usr/lib/python2.4/site-packages/rdiff_backup/restore.py", line 672, in end_process self.base_rp.rmdir() File "/usr/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 993, in rmdir self.conn.os.rmdir(self.path) OSError: [Errno 39] Directory not empty: '/cluster/shadow/db/acdmis/run' [r...@bptest rdiff-backup-1.3.3]# ls /cluster/shadow/db/acdmis/run/ navigator.pid So python is correct, the directory is not empty. But why does cause an error? Looking for any thoughts / suggestions! Thanks, Chris _______________________________________________ rdiff-backup-users mailing list at rdiff-backup-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/rdiff-backup-users Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki