[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [rdiff-backup-users] [Errno 39] Directory not empty
From: |
Joe Steele |
Subject: |
Re: [rdiff-backup-users] [Errno 39] Directory not empty |
Date: |
Tue, 17 Dec 2013 15:47:27 -0500 |
User-agent: |
Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 |
I can't say what exactly caused your problem, but I can reproduce
such an error this way:
| $ mkdir -p src/d1/d2
| $ mkdir backup
| $ touch src/d1/f1
| $ touch src/d1/d2/f2
| $ rdiff-backup src/ backup/
| $ touch backup/d1/d2/f3
| $ rm -rf src/d1/d2/
| $ rdiff-backup src/ backup/
| Exception '[Errno 39] Directory not empty: 'backup/d1/d2''
raised of class 'exceptions.OSError':
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
304, in error_check_Main
| try: Main(arglist)
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
324, in Main
| take_action(rps)
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
280, in take_action
| elif action == "backup": Backup(rps[0], rps[1])
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
343, in Backup
| backup.Mirror_and_increment(rpin, rpout, incdir)
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/backup.py", line
51, in Mirror_and_increment
| DestS.patch_and_increment(dest_rpath, source_diffiter,
inc_rpath)
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/backup.py", line
244, in patch_and_increment
| ITR.Finish()
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/rorpiter.py", line
247, in Finish
| to_be_finished.end_process()
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/backup.py", line
676, in end_process
| self.base_rp.rmdir()
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line
997, 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.3/site-packages/rdiff_backup/Main.py", line
304, in error_check_Main
| try: Main(arglist)
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
324, in Main
| take_action(rps)
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
280, in take_action
| elif action == "backup": Backup(rps[0], rps[1])
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line
343, in Backup
| backup.Mirror_and_increment(rpin, rpout, incdir)
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/backup.py", line
51, in Mirror_and_increment
| DestS.patch_and_increment(dest_rpath, source_diffiter,
inc_rpath)
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/backup.py", line
244, in patch_and_increment
| ITR.Finish()
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/rorpiter.py", line
247, in Finish
| to_be_finished.end_process()
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/backup.py", line
676, in end_process
| self.base_rp.rmdir()
| File
"/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line
997, in rmdir
| self.conn.os.rmdir(self.path)
| OSError: [Errno 39] Directory not empty: 'backup/d1/d2'
| $
In the above example, a new file was manually created in the
backup directory. This results in rdiff-backup getting confused.
Such changes are, of course, a bad idea.
I can clean up the mess by removing the file and running the
backup again:
| $ rm backup/d1/d2/f3
| $ rdiff-backup src/ backup/
| Previous backup seems to have failed, regressing destination now.
| $
So -- is there any chance files were created in your backup
directory by means other than rdiff-backup? The rdiff-backup
program depends on the accuracy of its file lists found in
<backup-dir>/rdiff-backup/mirror_metadata.*, and if they don't
match the contents of your backup directory, then problems will
eventually arise.
--Joe
On 12/16/2013 5:17 PM, Stephen Isard wrote:
Hello,
I've just got the above error when trying to run rdiff-backup in
the way I always do. The directory it complains about is <backup
directory>/home/<user>/.mozilla/firefox/i6ky0u8u.default/startupCache/
which is indeed not empty. The directory
/home/<user>/.mozilla/firefox/i6ky0u8u.default/startupCache
doesn't exist on the volume being backed up. I don't know what
it is or was, but it probably got wiped out by the latest firefox
upgrade.
Rdiff-backup normally copes just fine with deleted directories.
Can anyone suggest what the problem might be and what I should do
about it?
Will --force just make things worse?
Thanks,
Stephen Isard
_______________________________________________
rdiff-backup-users mailing list at address@hidden
https://lists.nongnu.org/mailman/listinfo/rdiff-backup-users
Wiki URL:
http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki