服务器多次用io删除文件,解决rsync同步时报IO错误导致无法删除文件的问题

  • Post author:
  • Post category:其他


2012年3月22日更新:

终于找到问题的根源了,其实算是rsync的一个bug,就是如果收到过多的报告权限不足无法同步的错误后,rsync就会报IO错误跳过删除文件的操作。

要解决这个问题,要么保证不会出现权限不足无法同步的情况,要么,就还是按照我下面的方法来解决。

今天,我在服务器上发现通过rsync同步的文件有问题,在镜像服务器这边的文件没有同步删除,于是在终端手工运行了一下命令,发现有以下报错:

IO error encountered — skipping file deletion

看样子是提示IO错误,因此跳过了文件删除选项。于是赶忙到服务器上检查是否真的存在IO错误,结果答案是,根本就没有IO问题,主服务器和镜像服务器的对应文件夹下创建和删除文件,都没问题。

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

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

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

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

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

选项

说明

-a, –archive

归档模式,表示以递归方式传输文件,并保持所有文件属性,等价于 -rlptgoD (不包括 -H)