Permissions
如何使用 rsync 備份可讀但不可寫的文件?
我正在使用 rsync 使用以下命令將我的主目錄中的一些文件夾備份到遠端伺服器:
cd rsync -Favz --inplace --delete --delete-excluded folder1 folder2 folder3 remote-server:/remote/path/
所有文件都歸我的使用者所有,無論是本地還是遠端。
它工作正常,除了模式為 r–r–r– 的文件,即使我的使用者是這些文件和父目錄的所有者。
這是 rsync 為這些文件報告的內容:
rsync: open "/remote/path/somefolder/somefile" failed: Permission denied (13) ... rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]
作為臨時解決方案,我可以登錄遠端電腦(同一使用者),刪除文件並重新執行 rsync,然後在這些模式下創建這些文件,但是下次我執行腳本時它會再次失敗。
有沒有辦法讓 rsync 覆蓋遠端端的不可寫文件(或刪除它們並再次創建它們),還是我必須先遠端刪除它們然後執行備份腳本?
這個問題與How to backup /etc/{,g}shadow files with 0000 權限非常相似?除了後者談論的是不可讀的文件,而我的問題是關於可讀但不可寫的文件。
這是選項的副作用
--inplace
。這更適用於不通過網路進行磁碟到磁碟同步。其他副作用,例如在傳輸中斷時使文件處於不一致狀態也可能是有問題的。嘗試不同步,--inplace
因為 rsync 增量傳輸算法已經非常有效。