Ssh
通過 SSH 找出本地和遠端文件系統之間差異的腳本
我正在尋找一個腳本來找出本地和遠端文件系統(通過 SSH)之間的差異。理想情況下,腳本應該執行以下操作:
-瀏覽本地文件系統中的文件夾
-找出遠端文件系統上是否存在文件夾(如果失去則報告並停止進一步檢查文件夾)
-對於兩個文件系統都存在的文件夾,做一個差異它們包含的文件數(報告遠端文件是否失去或不同)。
我可以在 serverfault 上找到的唯一內容是關於如何對單個文件和文件夾進行差異的範例:
該腳本可以用任何語言編寫,此時無關緊要(儘管首選 bash/perl)。
rsync
使用--dry-run
and-v
參數將報告文件和目錄,它們是否存在於遠端端,並檢測文件中的差異(通過校驗和)。網上有很多關於如何讓它通過 SSH 執行的文件。如果您喜歡不同的方法,您可以使用FUSE/SSHfs在本地掛載遠端目錄,並使用任何可以在本地工作的工具集。
一個糟糕的簡單解決方案幾乎可以完成您想要的所有事情,但不會停止下降到目標上不存在的文件夾中,它是
rsync
與校驗和驗證一起使用,執行以下操作--dry-run
:rsync -av -c --dry-run source/ user@target:/target/