Rsync
如何防止 rsync 傳輸文件?
我在 Linux 伺服器上設置了與遠端文件系統的 sshfs 連接。我正在從本地伺服器到 ftpfs 文件系統進行 rsync。由於此設置的性質,我無法
chown
在 sshfs 文件系統上執行任何操作。當我執行 rsync 時,它會在傳輸文件後嘗試對所有文件進行 chown。這會導致 chown 錯誤,即使它可以很好地傳輸文件。
使用 rsync,有沒有辦法告訴它不要嘗試和 chown 文件?如果我 rsync 喜歡 1000 個文件,我最終會得到 1000 個
chown: permission denied (error 13)
錯誤的日誌。我知道得到這些錯誤並沒有什麼壞處,因為文件的所有權是由 sshfs 配置本身決定的,但最好不要得到它們。
您可能正在像這樣執行 rsync:
rsync -a dir/ remote:/dir/
根據文件的
-a
選項等效於:-rlptgoD
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
您可能想要刪除
-o
and-g
選項:-o, --owner preserve owner (super-user only) -g, --group preserve group
因此,您的 rsync 命令應如下所示:
rsync -rlptD dir/ remote:/dir/
或者正如@glglgl指出的那樣:
rsync -a --no-o --no-g dir/ remote:/dir/
其餘使用的選項是:
-r, --recursive recurse into directories -l, --links copy symlinks as symlinks -p, --perms preserve permissions -t, --times preserve modification times -D same as --devices --specials --devices preserve device files (super-user only) --specials preserve special files