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

Xem*_*emX 21 rsync permissions

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

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 无需密码即可 ssh。所以它有效。现在问题是

--delete-after 选项

在所有文件同步之后。最后我可以看到删除过程已跳过。日志文件错误就像

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

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

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

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

即使有一些权限错误,有没有办法让 --delete-after 工作?我不想使用强制删除,因为在某些情况下会很危险。

Tim*_*nel 21

从 rsync 手册页:

--ignore-errors         delete even if there are I/O errors
Run Code Online (Sandbox Code Playgroud)

那将解决您的问题。


小智 16

关于此问题的附加说明:

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
Run Code Online (Sandbox Code Playgroud)