
我有一個需要與 rsync 同步的文件和目標列表,但我不想為此多次運行 rsync (由於在我的情況下使用 ssh,連接時間很長)。
例子:
~/aaa remote:/~/aaa
~/bbb remote:/~/otherplace/bbb
…
正如您可以想像的那樣,該列表更大,就我而言,我確實必須使用多個遠端伺服器運行同一組。
我怎樣才能輕鬆實現這一點?我希望每個伺服器啟動一次 rsync。
答案1
當我想將此行為插入到僅傳輸到特定資料夾的現有 rsync 腳本中時,我對此進行了快速修復:我為此目的在兩側創建了符號鏈接目錄,並告訴 rsync-L
在傳輸過程中取消引用連結( ) 。在我這邊,連結被取消引用到其內容中,並傳輸到遠端的目錄,在那裡它們被放入指向我想要它們的目錄的符號連結中。
這實際上並不是指定備份檔案的最糟糕的方法。它用途廣泛且易於定制,無需更改配置文件(嗯,符號鏈接的結構是配置文件,在某種程度上)。
如果您想,這個具體範例不是一個好的解決方案不是不過,在某些情況下取消引用傳輸連結。
答案2
如果 ssh 是問題所在,那麼也許您可以透過重複使用 ssh 連線來加快速度,將其放入 ~/.ssh/config 或其他一些相關的 ssh 設定檔中:
Host *
ControlMaster auto
ControlPath /tmp/%r@%h:%p