rdiff-backup-users
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]