
答案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 的輸出通過管道傳輸到顏色差異為了漂亮。