Rsync

rsync 預設會處理 lost+found 目錄嗎?

  • April 13, 2022

我更新了我的rsync 忽略文件並使用--delete-excluded標誌從目標端刪除現在冗餘的文件。rsync 無法完成任務,因為我lost+found/在所述文件中有以下行:

rsync: [generator] opendir "/mnt/text/lost+found" failed: Permission denied (13)
IO error encountered -- skipping file deletion

我的命令:

rsync --archive --no-compress --info=progress2 --human-readable --exclude-from='rsync.exclude.txt' --delete-excluded $HOME/ /mnt/text/

作為系統目錄lost+found無法刪除。

我記得lost+found至少在 Fedora 33(在發送端)上出現權限錯誤,因此已經排除了該文件夾。在我目前的 Fedora 35 上,rsync 可以正常工作(如果相關,目前目錄中沒有數據)。


是否真的需要手動排除文件夾或者我遇到了錯誤(結果誤解了 rsync 的功能)?這意味著當使用預設設置時,由於 I/O 錯誤,rsync 在 Linux 下總是會失敗……

首先,回答您提出的問題,“預設情況下 rsync 是否處理 lost+found 目錄? ”如果您已將其包含在範圍內,答案是肯定的。rsync -av / remoteHost:/some/path將嘗試包含所有文件和目錄 - 並且將在目前使用者無法訪問的文件或目錄上失敗,包括/lost+found如果您不是 root 使用者。(它也會在大多數情況下失敗,/proc/sys原因不同。)

現在,將問題作為一個整體來看待。這似乎是一次性刪除您現在從源副本中排除的文件和目錄。

您不能真正lost+found從排除中排除,因此最簡單的解決方案是包含該--ignore-errors標誌。這將允許刪除您有權刪除的文件和目錄。您仍然會收到一個錯誤,lost+found但它不會阻止其他刪除。

完成此操作後,您應該恢復您的處理,以便您不再擁有--delete-excluded--ignore-errors

引用自:https://unix.stackexchange.com/questions/698970