千家信息网

rsync同出出现 IO error encountered导致无法删除文件的解决方法

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,今天在同步数据的时候,发现一些删除的文件没有删除,赶紧查看一下发现IO error encountered导致无法删除文件的问题,网上搜素了一下并测试确实可以使用,一般情况下都是权限或者可能磁盘有问题
千家信息网最后更新 2025年12月02日rsync同出出现 IO error encountered导致无法删除文件的解决方法

今天在同步数据的时候,发现一些删除的文件没有删除,赶紧查看一下发现IO error encountered导致无法删除文件的问题,网上搜素了一下并测试确实可以使用,一般情况下都是权限或者可能磁盘有问题。

服务器是采用windows版的cwRsync进行同步,本来同步得好好的把 --delete 参数带上以后就出现错误

IO error encountered - skipping file deletion

  找了很久也没找到解决方案,查了目录权限,服务器日志里也没看到磁盘出错的日志信息,在网上找到了一篇临时的解决方案。

仔细查看了一下rsync的参数,发现有一个选项是:

  --ignore-errors 即使出现 I/O 错误也进行删除

  (即使出现 I/O 错误也进行删除)

  于是加上了这个参数,再次执行同步,问题解决了。

  但是至于为什么rsync会误报这个错误,目前我还没有找到原因,如果有哪一位知道的话,欢迎解惑。

  附上rsync的常用参数选项,方便大家参考:

选项说明
-a, -archive归档模式,表示以递归方式传输文件,并保持所有文件属性,等价于 -rlptgoD (不包括 -H)
-r, -recursive对子目录以递归模式处理
-l, -links保持符号链接文件
-H, -hard-links保持硬链接文件
-p, -perms保持文件权限
-t, -times保持文件时间信息
-g, -group保持文件属组信息
-o, -owner保持文件属主信息 (super-user only)
-D保持设备文件和特殊文件 (super-user only)
-z, -compress在传输文件时进行压缩处理
-exclude=PATTERN指定排除一个不需要传输的文件匹配模式
-exclude-from=FILE从 FILE 中读取排除规则
-include=PATTERN指定需要传输的文件匹配模式
-include-from=FILE从 FILE 中读取包含规则
-copy-unsafe-links拷贝指向SRC路径目录树以外的链接文件
-safe-links忽略指向SRC路径目录树以外的链接文件(默认)
-existing仅仅更新那些已经存在于接收端的文件,而不备份那些新创建的文件
-ignore-existing忽略那些已经存在于接收端的文件,仅备份那些新创建的文件
-b, -backup当有变化时,对目标目录中的旧版文件进行备份
-backup-dir=DIR与 -b 结合使用,将备份的文件存到 DIR 目录中
-link-dest=DIR当文件未改变时基于 DIR 创建硬链接文件
-delete删除那些接收端还有而发送端已经不存在的文件
-delete-before接收者在传输之前进行删除操作 (默认)
-delete-during接收者在传输过程中进行删除操作
-delete-after接收者在传输之后进行删除操作
-delete-excluded在接收方同时删除被排除的文件
-e, -rsh=COMMAND指定替代 rsh 的 shell 程序
-ignore-errors即使出现 I/O 错误也进行删除
-partial保留那些因故没有完全传输的文件,以是加快随后的再次传输
-progress在传输时显示传输过程
-P等价于 -partial -progress
-delay-updates将正在更新的文件先保存到一个临时目录(默认为 ".~tmp~"),待传输完毕再更新目标文件
-v, -verbose详细输出模式
-q, -quiet精简输出模式
-h, -human-readable输出文件大小使用易读的单位(如,K,M等)
-n, -dry-run显示哪些文件将被传输
-list-only仅仅列出文件而不进行复制
-rsyncpath=PROGRAM指定远程服务器上的 rsync 命令所在路径
-password-file=FILE从 FILE 中读取口令,以避免在终端上输入口令,通常在 cron 中连接 rsync 服务器时使用
-4, -ipv4使用 IPv4
-6, -ipv6使用 IPv6
-version打印版本信息
-help显示帮助信息

注意:

若使用普通用户身份运行 rsync 命令,同步后的文件的属主将改变为这个普通用户身份。
若使用超级用户身份运行 rsync 命令,同步后的文件的属主将保持原来的用户身份。

0