Rsync

如何防止 rsync 傳輸文件?

  • December 28, 2020

我在 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)

您可能想要刪除-oand-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

引用自:https://serverfault.com/questions/364709