Ssh

通過 SSH 找出本地和遠端文件系統之間差異的腳本

  • February 28, 2012

我正在尋找一個腳本來找出本地和遠端文件系統(通過 SSH)之間的差異。理想情況下,腳本應該執行以下操作:

-瀏覽本地文件系統中的文件夾

-找出遠端文件系統上是否存在文件夾(如果失去則報告並停止進一步檢查文件夾)

-對於兩個文件系統都存在的文件夾,做一個差異它們包含的文件數(報告遠端文件是否失去或不同)。

我可以在 serverfault 上找到的唯一內容是關於如何對單個文件和文件夾進行差異的範例:

如何比較目錄之間的差異 (linux)

如何通過 ssh 進行差異?

該腳本可以用任何語言編寫,此時無關緊要(儘管首選 bash/perl)。

rsync使用--dry-runand-v參數將報告文件和目錄,它們是否存在於遠端端,並檢測文件中的差異(通過校驗和)。網上有很多關於如何讓它通過 SSH 執行的文件。

如果您喜歡不同的方法,您可以使用FUSE/SSHfs在本地掛載遠端目錄,並使用任何可以在本地工作的工具集。

一個糟糕的簡單解決方案幾乎可以完成您想要的所有事情,但不會停止下降到目標上不存在的文件夾中,它是rsync與校驗和驗證一起使用,執行以下操作--dry-run

rsync -av -c --dry-run source/ user@target:/target/  

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