Rsync
rsync 預設會處理 lost+found 目錄嗎?
我更新了我的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
。