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)

相关推荐

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

    今天在同步数据的时候,发现一些删除的文件没有删除,赶紧查看一下发现IO error encountered导致无法删除文件的问题,网上搜素了一下并测试确实可以使用,一般情况下都是权限或者可能磁盘有问题. 服务器是采用windows版的cwRsync进行同步,本来同步得好好的把 --delete 参数带上以后就出现错误 IO error encountered - skipping file deletion 找了很久也没找到解决方案,查了目录权限,服务器日志里也没看到磁盘出错的日志信息,在网上找

  • Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题的解决方法

    if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){ finish(); return; } 应用程序入口Activity的onCreate方法中加入上面的判断,完美解决应用程序多次重启问题. 应用程序入口Activity的onCreate方法中加入上面的判断,在setcontentview方法之前调用. 以上所述是小编给大家介绍的 Android应用第一次安装成功点击"打开"后Ho

  • 一个applicationContext 加载错误导致的阻塞问题及解决方法

    问题为对接一个sso的验证模块,正确的对接姿势为,接入一个 filter, 然后接入一个 SsoListener . 然而在接入之后,却导致了应用无法正常启动,或者说看起来很奇怪,来看下都遇到什么样的问题,以及是如何处理的? 还是 web.xml, 原本是这样的: (很简洁!) <?xml version="1.0" encoding="UTF-8" ?> <web-app xmlns="http://java.sun.com/xml/n

  • php运行提示:Fatal error Allowed memory size内存不足的解决方法

    本文实例讲述了php运行提示:Fatal error Allowed memory size内存不足的解决方法.分享给大家供大家参考.具体方法如下: 有些朋友新配置的环境或自己新写的程序运行时会碰到fatal error: Allowed memory size of 134217728 bytes exhausted错误,这种问题一个是程序写得不好导致的,另一个是环境配置不好也会出现,像php5.1.27+apache2.2.3好像在windows2003中就会出现bug不管你怎么修复都无法解

  • Docker暴露2375端口导致服务器被攻击问题及解决方法

    相信了解过docker remote API的同学对2375端口都不陌生了,2375是docker远程操控的默认端口,通过这个端口可以直接对远程的docker daemon进行操作. 当$HOST主机以docker daemon -H=0.0.0.0:2375方式启动daemon时,可以在外部机器对$HOST的docker daemon进行直接操作: docker -H tcp://$HOST:2375 ps 好,说说如何"入侵",怎么通过这个端口入侵宿主机呢? 这个应该要从几个点说起

  • 服务器大量php-cgi.exe进程导致CPU占用100%的解决方法

    windows 2003+IIS6中优化fastcgi配置文件fcgiext.ini,减少php-cgi.exe进程数量和所占内存大小 本来听说fastcgi比isapi好就在服务器中装上了,配置环境为windows 2003+IIS6+fastcgi(FCGI)+PHP5.2.17,经过与很长一段时间观察,发现工作在FastCGI模式下的PHP会占用越来越多的内存,访问量稍微多点php-cgi进程就多了N个,同样情况下能比原来用isapi模式的时候多出几百M,我的服务器内存只有2G伤不起啊.

  • php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法

    本文实例讲述了php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法.分享给大家供大家参考.具体如下: ZipArchive是php自带的一个压缩与解压缩函数了,今天理所当然的情况中使用new ZipArchive来创建zip文件时碰到提示Fatal error: Class ZipArchive not found in错误,感兴趣的朋友就一起来看看解决方法. 测试代码如下: 复制代码 代码如下: //PHP解压缩文件(

  • php多次include后导致全局变量global失效的解决方法

    本文实例讲述了php多次include后导致全局变量global失效的解决方法.分享给大家供大家参考.具体分析如下: 在多个文件中,文件一个接一个include,但最后一个文件里的函数使用global后却无法引用全局变量.例如: a.php文件: <?php $aa = 1; ?> b.php文件: <?php include a.php function show(){ global $aa; var_dump($aa); } ?> 显示:null; 这种失效是由于多种原因造成的

  • Win10下 Redis启动 错误1067导致进程意外终止的解决方法

    一.系统环境 操作系统:Windows10专业版 64位 Redis版本:redis-64.3.0.503 二.问题描述 1.命令行启动: redis-server redis.windows.conf 可以启动成功: 2.将Redis安装为Windows系统服务: redis-server --service-install redis.windows-service.conf --loglevel verbose 3.进入系统服务页面: Win + r打开运行命令框,services.msc

  • iOS App使用GCD导致的卡顿现象及解决方法

    最近在调研 iOS app 中存在的各种卡顿现象以及解决方法. iOS App 出现卡顿(stall)的概率可能超出大部分人的想象,尤其是对于大公司旗舰型 App.一方面是由于业务功能不停累积,各个产品团队之间缺乏协调,大家都忙着增加功能,系统资源出现瓶颈.另一方面的原因是老设备更新换代太慢,iOS 设备的耐用度极好,现在还有不少 iPhone 4S 在服役,iPhone 6 作为问题设备持有量很高,据估计,现在 iPhone 6s 以前的设备占有比高达 40%. 所以,如果尝试在线上 App

随机推荐