rsync command deletion error "IO error encountered -- skipping file deletion"
I use rsync command to take backup of files from one of my ubuntu server to another ubuntu machine. Backup server trigger a script that use rysnc command. Here is the command I use
rsync -rltvh --partial --stats --exclude=.beagle/ --exclude=.* --delete-after root@live_server:/home/ /home/live_server_backup/home >> /tmp/logfile.log 2>&1
live_server is ssh-able without password. So it works. Now problem is with
--delete-after option
After all file synced .At the end I can see deletion procedure skipped.logfile error is like
IO error encountered -- skipping file deletion
When i tried to find log there were some error while file sync
rsync: send_files failed to open "/home/xyz/Desktop/PPT_session_1_context.pdf": Permission denied (13)
So my understanding is as rsync could not read all the files from target for safety reason it is skipping the file deletion.
Is there any way to make --delete-after work even if there is some permission error? I do not want to use force deletion as it will be dangerous in some situation.
Solution 1:
Additional note about this issue:
vanished file
should not trigger the condition IO error encountered -- skipping file deletion
, but this often happens when you are creating a backup of a live system.
This is covered by rsync bug #7809 (https://bugzilla.samba.org/show_bug.cgi?id=7809) and should be solved in the upcoming release 3.1.0.
In the meantime use:
--ignore-errors delete even if there are I/O errors
Solution 2:
From the rsync man page:
--ignore-errors delete even if there are I/O errors
That will address your problem.
Solution 3:
You should use an exclusion file to make rsync
ignore the files that it can't read. The list can be generated with find . -exec test -r '{}'
in the source directory and then massaged into the exclusion file format rsync
wants.