Linux

Rsync 是否允許雙向同步文件?

  • December 5, 2015

我已經使用 rsync 和 cygwin 備份了一個 linux Web 伺服器。我現在在我的 Windows 筆記型電腦上有一個完美的伺服器副本。如果我刪除或修改筆記型電腦上的文件並使用 cygwin 再次執行 rsync,它會刪除/更新伺服器上的相同文件嗎?我的印像是,如果我在伺服器上刪除/修改並在我的筆記型電腦上執行 rsync,它將刪除/修改我筆記型電腦上的本地文件,但這會反過來嗎?

Rsync 進行單向同步,但是由您決定同步的方式。

rsync 命令語法如下:

rsync [OPTION...] SRC... [DEST]

請注意,您指定從源到目標的同步。源和目標可以是任何本地或遠端路徑。

例如,如果您想將文件從伺服器複製到筆記型電腦,您可以:

rsync [OPTION...] <server-path> <laptop-path>

要在相反方向同步,您可以:

rsync [OPTION...] <laptop-path> <server-path>

所以回答你的問題:這取決於你如何執行 rsync。

如果要在目標上刪除文件,則需要使用--delete選項。但要小心,因為如果您在指定來源時犯了錯誤,那麼您最終將刪除目的地上的所有內容。首先在沒有選項的情況下測試同步會更安全--delete,一旦您對它的工作方式感到滿意,您就可以添加--delete選項。

正如masegaloeh在下面的評論中所建議的那樣,-n或者--dry-run選項也可用於測試rsync命令行為。

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