在一行中 rsync 多個目錄

在一行中 rsync 多個目錄

我有一個簡單的任務,可以用多行來完成,但我想透過 1 個 cron 作業作為 1 行來運行它,而不是有 12 條單獨的行。這是設定:

在影像處理共用上有一個資料夾,用於獲取影像並根據位置和其他情況將它們移動到 12 個不同的資料夾。資料夾名稱為 1a、2a、3a、4a、5a、6a 等至 12a。資料夾 1a-6a 需要轉到 dr01 上安裝的驅動器,資料夾 7a-12a 需要轉到名為 dr02 的安裝資料夾。每個 #a 資料夾裡面都有很多子資料夾和檔案。

所以,我想每天兩次將 ../images/1a 同步到 ..DR01/1a。我可以使用以下命令分別對每個資料夾執行此操作:

rsync -avh --remove-source-files /images/1a/ /usr/local/blah/dr02/1a/

我希望我可以同步整個目錄,但由於一半的檔案要共享,另一半要共享,所以我必須將它們分解。

有沒有更好的方法來做到這一點,而不必建立 12 個 rsync 作業來同步每個資料夾?有沒有辦法將它們分組到 rsync 行或類似的東西?我曾經使用 union-fs 將 DR 融合在一起,但這不再是一個可行的選擇。

預先感謝您提供任何可以幫助我解決此問題的提示。

答案1

假設有一個可以擴展{x..y}類型構造的 shell,這樣的東西可能對您有用。 (透過在整行前面加上前綴來從命令列測試它echo。)

rsync -avh --remove-source-files /images/{1..6}a /mnt/dr01/
rsync -avh --remove-source-files /images/{7..12}a /usr/local/blah/dr02/

相關內容