rsync同出出現(xiàn) IO error encountered導(dǎo)致無(wú)法刪除文件的解決方法
今天在同步數(shù)據(jù)的時(shí)候,發(fā)現(xiàn)一些刪除的文件沒(méi)有刪除,趕緊查看一下發(fā)現(xiàn)IO error encountered導(dǎo)致無(wú)法刪除文件的問(wèn)題,網(wǎng)上搜素了一下并測(cè)試確實(shí)可以使用,一般情況下都是權(quán)限或者可能磁盤有問(wèn)題。
服務(wù)器是采用windows版的cwRsync進(jìn)行同步,本來(lái)同步得好好的把 --delete 參數(shù)帶上以后就出現(xiàn)錯(cuò)誤
IO error encountered — skipping file deletion
找了很久也沒(méi)找到解決方案,查了目錄權(quán)限,服務(wù)器日志里也沒(méi)看到磁盤出錯(cuò)的日志信息,在網(wǎng)上找到了一篇臨時(shí)的解決方案。

仔細(xì)查看了一下rsync的參數(shù),發(fā)現(xiàn)有一個(gè)選項(xiàng)是:
--ignore-errors 即使出現(xiàn) I/O 錯(cuò)誤也進(jìn)行刪除
(即使出現(xiàn) I/O 錯(cuò)誤也進(jìn)行刪除)
于是加上了這個(gè)參數(shù),再次執(zhí)行同步,問(wèn)題解決了。
但是至于為什么rsync會(huì)誤報(bào)這個(gè)錯(cuò)誤,目前我還沒(méi)有找到原因,如果有哪一位知道的話,歡迎解惑。
附上rsync的常用參數(shù)選項(xiàng),方便大家參考:
| 選項(xiàng) | 說(shuō)明 |
| -a, –archive | 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等價(jià)于 -rlptgoD (不包括 -H) |
| -r, –recursive | 對(duì)子目錄以遞歸模式處理 |
| -l, –links | 保持符號(hào)鏈接文件 |
| -H, –hard-links | 保持硬鏈接文件 |
| -p, –perms | 保持文件權(quán)限 |
| -t, –times | 保持文件時(shí)間信息 |
| -g, –group | 保持文件屬組信息 |
| -o, –owner | 保持文件屬主信息 (super-user only) |
| -D | 保持設(shè)備文件和特殊文件 (super-user only) |
| -z, –compress | 在傳輸文件時(shí)進(jìn)行壓縮處理 |
| –exclude=PATTERN | 指定排除一個(gè)不需要傳輸?shù)奈募ヅ淠J?/td> |
| –exclude-from=FILE | 從 FILE 中讀取排除規(guī)則 |
| –include=PATTERN | 指定需要傳輸?shù)奈募ヅ淠J?/td> |
| –include-from=FILE | 從 FILE 中讀取包含規(guī)則 |
| –copy-unsafe-links | 拷貝指向SRC路徑目錄樹(shù)以外的鏈接文件 |
| –safe-links | 忽略指向SRC路徑目錄樹(shù)以外的鏈接文件(默認(rèn)) |
| –existing | 僅僅更新那些已經(jīng)存在于接收端的文件,而不備份那些新創(chuàng)建的文件 |
| –ignore-existing | 忽略那些已經(jīng)存在于接收端的文件,僅備份那些新創(chuàng)建的文件 |
| -b, –backup | 當(dāng)有變化時(shí),對(duì)目標(biāo)目錄中的舊版文件進(jìn)行備份 |
| –backup-dir=DIR | 與 -b 結(jié)合使用,將備份的文件存到 DIR 目錄中 |
| –link-dest=DIR | 當(dāng)文件未改變時(shí)基于 DIR 創(chuàng)建硬鏈接文件 |
| –delete | 刪除那些接收端還有而發(fā)送端已經(jīng)不存在的文件 |
| –delete-before | 接收者在傳輸之前進(jìn)行刪除操作 (默認(rèn)) |
| –delete-during | 接收者在傳輸過(guò)程中進(jìn)行刪除操作 |
| –delete-after | 接收者在傳輸之后進(jìn)行刪除操作 |
| –delete-excluded | 在接收方同時(shí)刪除被排除的文件 |
| -e, –rsh=COMMAND | 指定替代 rsh 的 shell 程序 |
| –ignore-errors | 即使出現(xiàn) I/O 錯(cuò)誤也進(jìn)行刪除 |
| –partial | 保留那些因故沒(méi)有完全傳輸?shù)奈募允羌涌祀S后的再次傳輸 |
| –progress | 在傳輸時(shí)顯示傳輸過(guò)程 |
| -P | 等價(jià)于 –partial –progress |
| –delay-updates | 將正在更新的文件先保存到一個(gè)臨時(shí)目錄(默認(rèn)為 “.~tmp~”),待傳輸完畢再更新目標(biāo)文件 |
| -v, –verbose | 詳細(xì)輸出模式 |
| -q, –quiet | 精簡(jiǎn)輸出模式 |
| -h, –human-readable | 輸出文件大小使用易讀的單位(如,K,M等) |
| -n, –dry-run | 顯示哪些文件將被傳輸 |
| –list-only | 僅僅列出文件而不進(jìn)行復(fù)制 |
| –rsyncpath=PROGRAM | 指定遠(yuǎn)程服務(wù)器上的 rsync 命令所在路徑 |
| –password-file=FILE | 從 FILE 中讀取口令,以避免在終端上輸入口令,通常在 cron 中連接 rsync 服務(wù)器時(shí)使用 |
| -4, –ipv4 | 使用 IPv4 |
| -6, –ipv6 | 使用 IPv6 |
| –version | 打印版本信息 |
| –help | 顯示幫助信息 |
注意:
若使用普通用戶身份運(yùn)行 rsync 命令,同步后的文件的屬主將改變?yōu)檫@個(gè)普通用戶身份。
若使用超級(jí)用戶身份運(yùn)行 rsync 命令,同步后的文件的屬主將保持原來(lái)的用戶身份。
相關(guān)文章
Ubuntu通過(guò)Netplan配置網(wǎng)絡(luò)教程
這篇文章主要為大家介紹了Ubuntu通過(guò)Netplan配置網(wǎng)絡(luò)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
Git發(fā)現(xiàn)git push origin master 報(bào)錯(cuò)的解決方法
本篇文章主要介紹了Git發(fā)現(xiàn)git push origin master 報(bào)錯(cuò)的解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Nodejs創(chuàng)建TCP服務(wù)器 - king0222
這篇文章主要介紹了Nodejs創(chuàng)建TCP服務(wù)器 - king0222的相關(guān)資料,需要的朋友可以參考下2015-09-09
ubuntu 服務(wù)器中文亂碼問(wèn)題的解決方法
這篇文章主要介紹了ubuntu 服務(wù)器中文亂碼問(wèn)題的解決方法,需要的朋友可以參考下2018-03-03
詳解如何將本地JAR包添加到本地Maven倉(cāng)庫(kù)中
這篇文章主要介紹了詳解如何將本地JAR包添加到本地Maven倉(cāng)庫(kù)中的相關(guān)資料,希望通過(guò)本文能幫助到大家來(lái)實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-09-09
Dell服務(wù)器安裝Ubuntu系統(tǒng)的圖文教程
這篇文章主要為大家詳細(xì)介紹了Dell服務(wù)器如何安裝Ubuntu系統(tǒng),文中通過(guò)示例圖片為大家詳細(xì)講解了安裝步驟,有需要的小伙伴可以參考一下2023-09-09
如何從Steam社區(qū)屏蔽分析繞過(guò)方法及ASF安全部署
這篇文章主要介紹了從Steam社區(qū)屏蔽分析繞過(guò)方法及ASF安全部署,本文主要記錄在Ubuntu(Linux)服務(wù)器上的部署教程,但對(duì)于沒(méi)有用過(guò)ASF并不熟悉Nginx的萌新來(lái)說(shuō),還是建議在Windows上調(diào)試成功后再轉(zhuǎn)到云服務(wù)器上,需要的朋友可以參考下2024-05-05

