rsync命令删除错误“遇到IO错误-跳过文件删除”


16

我使用rsync命令将文件从一台ubuntu服务器备份到另一台ubuntu计算机。备份服务器触发使用rysnc命令的脚本。这是我使用的命令

rsync -rltvh --partial --stats --exclude = .beagle / --exclude =。*-在root @ live_server之后删除-/ home / / home / live_server_backup / home >> /tmp/logfile.log 2> &1

live_server无需密码即可使用ssh-able。这样就可以了。现在问题出在

--delete-after选项

所有文件同步后。最后我可以看到删除过程skipped.logfile错误就像

遇到IO错误-跳过文件删除

当我尝试查找日志时,文件同步时出现一些错误

rsync:send_files无法打开“ /home/xyz/Desktop/PPT_session_1_context.pdf”:权限被拒绝(13)

所以我的理解是,出于安全原因,rsync无法从目标读取所有文件,因此它正在跳过文件删除。

即使出现某些权限错误,有什么方法可以使--delete-after工作?我不想使用强制删除,因为在某些情况下这很危险。


1
再次Pssst ...你真的应该。
Armel Larcier

Answers:


13

有关此问题的其他说明:

vanished file不应触发条件IO error encountered -- skipping file deletion,但是在创建实时系统的备份时通常会发生这种情况。

rsync错误#7809(https://bugzilla.samba.org/show_bug.cgi?id=7809)涵盖了这一点,应该在即将发布的3.1.0版本中解决。

同时使用:

--ignore-errors         delete even if there are I/O errors

19

从rsync手册页:

--ignore-errors         delete even if there are I/O errors

那将解决您的问题。


2

您应该使用排除文件来rsync忽略无法读取的文件。可以find . -exec test -r '{}'在源目录中生成该列表,然后将其压缩为所需的排除文件格式rsync


实际上我的源目录很大(10-12GB)。因此,每次查找文件(没有读取权限)都不是一种有效的方法。你说啥?
XemX 2012年

运行一次以构建排除列表,除非添加了一大堆新的不可读文件,否则不要再次运行它。rsync正在执行相同的树遍历,因此无论如何都应该没那么糟。
凯尔·琼斯

是。但这就是我的情况。日常源目录可能会引入此类文件。我需要将新文件备份到备份机中。
XemX

有没有可行的解决方案?我还使用rsync从实时系统中进行备份,并且当读取计算机上出现I / O错误时,文件将在目标计算机上被删除,这应该不会发生!
bzero13年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.