萬盛學電腦網

 萬盛學電腦網 >> 電腦基本常識 >> rsync同出出現 IO error encountered 怎麼辦?

rsync同出出現 IO error encountered 怎麼辦?

   服務器是采用windows版的cwRsync進行同步,本來同步得好好的把 --delete 參數帶上以後就出現錯誤

  IO error encountered — skipping file deletion

  找了很久也沒找到解決方案,查了目錄權限,服務器日志裡也沒看到磁盤出錯的日志信息,在網上找到了一篇臨時的解決方案。

rsync同出出現 IO error encountered 怎麼辦? 三聯

  仔細查看了一下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 命令,同步後的文件的屬主將保持原來的用戶身份。

  傳輸的命令模式是:

  rsync [OPTION]... [USER@]HOST::SRC [DEST]

  參數說明:

  -v, --verbose 詳細模式輸出

  -z, --compress 對備份的文件在傳輸時進行壓縮處理

  -r, --recursive 對子目錄以遞歸模式處理

  -t, --times 保持文件時間信息

  -o, --owner 保持文件屬主信息

  -p, --perms 保持文件權限

  -g, --group 保持文件屬組信息

  --progress 顯示備份過程

  --delete 刪除那些DST中SRC沒有的文件

  --exclude "data/" 表示不對/home/user01/backup/data/目錄下的文件進行備份

copyright © 萬盛學電腦網 all rights reserved