取得遠端複製上的文件,但不能取得本機文件

取得遠端複製上的文件,但不能取得本機文件

我有一個資料夾。

我在本地有該資料夾的副本,在伺服器上也有一份。我根據需要編輯了本地資料夾,然後同步它到伺服器。

有沒有什麼方法可以比較本地和遠端這兩個副本,並獲取遠端副本而不是本地副本的文件清單?

答案1

在本機上執行的以下 rsync 指令列出了遠端主機上存在但本機上不存在的檔案。

rsync -av --dry-run --delete somedir/ user@remote:~/somedir/

--dry-run開關僅列出文件,而不實際執行任何操作,該--delete開關與-v(詳細)結合列出將被刪除的文件,因為它們存在​​於遠端主機上,而不是本地主機上,這是您想要的。

答案2

Unison 檔案同步器使用 rsync 演算法來完成繁重的工作。我每天都用它。

答案3

如果您已經有 ssh 金鑰來執行 rsync,則可以發出遠端 ssh 命令並列出目錄中的文件,然後將其與本機目錄中的副本進行比較。

ssh [email protected] ls -1 ~/foo > /tmp/remote.txt && ls -1 ~/foo > /tmp/local.txt && diff /tmp/remote.txt /tmp/local.txt

額外的功勞,將 diff 的輸出通過管道傳輸到顏色差異為了漂亮。

相關內容