Linux
遠端端沒有 rsyncd 或 sshd 的類似 Rsync 的文件傳輸
我需要將目錄結構從我網路中的 linux 主機傳輸並更新到客戶網路中的另一台 linux 主機。我對客戶網路的唯一訪問是通過 Citrix 客戶端。我可以通過 SSH 登錄,也可以通過 SCP 複製文件,但我無法在兩個網路之間進行任何類型的埠轉發。
顯然,我必須第一次將整個目錄結構複製為 tarball。但是在那之後,有沒有辦法根據遠端目錄結構的列表來優化 tarball 的創建?
任何人都可以推荐一個 unix 命令行工具來幫助解決上述問題嗎?
您可以通過 ssh 使用帶有 gnu tar(但不是 bsd tar)的增量 tar 存檔來僅傳輸更改。第一個 tar 將是 0 級,然後是 1 級…您需要保留 snapshot.snar 文件並每次都引用它,否則它將創建一個新的 0 級。
$ tar --listed-incremental snapshot.snar -cf - dir | ssh user@host "tar --listed-incremental=/dev/null -xf -"
如果您想使用壓縮來加快傳輸速度,您可以在兩個 tar 命令中添加“z”或“j”開關。
你可以
rsync -av /local/dir/appA user@host:remote_dir/
——但rsync
程序必須安裝在伺服器端。如果那裡沒有安裝 rsync,那麼您可以使用:
mkdir /tmp/host sshfs user@host:remote_dir/ /tmp/host/
進而:
rsync -av /local/dir/appA/ /tmp/host/