如何指定需要同步到 rsync 的大量檔案?

如何指定需要同步到 rsync 的大量檔案?

我有一個需要與 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

相關內容