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

 更新时间:2018年02月20日 23:14:33   作者:heylinux  
今天,我在服务器上发现通过rsync同步的文件有问题,在镜像服务器这边的文件没有同步删除,于是在终端手工运行了一下命令,发现有以下报错IO error encountered — skipping file deletion

今天在同步数据的时候,发现一些删除的文件没有删除,赶紧查看一下发现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 命令,同步后的文件的属主将保持原来的用户身份。 

相关文章

  • CentOS Rsync服务端与Windows cwRsync客户端实现数据同步配置方法

    CentOS Rsync服务端与Windows cwRsync客户端实现数据同步配置方法

    这篇文章主要介绍了CentOS Rsync服务端与Windows cwRsync客户端实现数据同步配置方法,需要的朋友可以参考下
    2015-07-07
  • 运维管理器Fabric使用方法

    运维管理器Fabric使用方法

    Fabric是基于Python2.5版本以上实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行日志输出等功能
    2016-08-08
  • 详解git仓库迁移的两种解决方案

    详解git仓库迁移的两种解决方案

    这篇文章主要介绍了详解git仓库迁移的两种解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • php.ini 启用disable_functions提高安全

    php.ini 启用disable_functions提高安全

    如果想保证服务器的安全,请将这个函数加到disable_functions里或者将安全模式打开吧,在安全模式下dl函数是无条件禁止的
    2009-07-07
  • 伪静态URL中文乱码问题解决方法

    伪静态URL中文乱码问题解决方法

    ISAPI_Rewrite伪静态中文URL乱码的解决方案 细心有朋友会发现,在众多知名程序,比如ShopEx网店、Discuz论坛等系统的伪静态规则都存在中文编码问题
    2014-07-07
  • 使用命令远程注销服务器的方法

    使用命令远程注销服务器的方法

    这篇文章主要介绍了使用命令远程注销服务器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2006-11-11
  • Mime类型与文件后缀对照表

    Mime类型与文件后缀对照表

    估计很多朋友对不同后缀的文件对应的MIME类型不熟悉(实际上这么多我也记不住),所以将平常常见的一些文件后缀对应的MIME类型写了一个对照表,现在奉献给大家
    2012-03-03
  • AIX系统中删除指定目录、指定后缀、指定天数以前的历史文件

    AIX系统中删除指定目录、指定后缀、指定天数以前的历史文件

    这篇文章主要介绍了AIX系统中删除指定目录、指定后缀、指定天数以前的历史文件,需要的朋友可以参考下
    2016-10-10
  • memcached常用命令_动力节点Java学院整理

    memcached常用命令_动力节点Java学院整理

    这篇文章主要介绍了memcached常用命令,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 从0开始搭建SVN服务器(图文详解)

    从0开始搭建SVN服务器(图文详解)

    这篇文章主要介绍了从0开始搭建SVN服务器(图文详解),在Win7上安装SVN server作为搭建代码服务器,在另外一台机器上提交代码进行测试。有兴趣的可以了解一下。
    2017-01-01

最新评论