2014-04-26 150 views
-1

我有一個網站的兩個子域,並且在兩個帳戶中都有一個文件夾與幾個子文件夾。這是一個照片文件夾。在dirA.xyz.com照片文件夾由幾個文件夾和子文件夾組成,而dirB.xyz.com照片文件夾由dirA中沒有的新照片組成。但dirA照片文件夾中的子文件夾名稱可能與dirB照片文件夾相同,但圖像的最終名稱會有所不同。所以我想將dirB照片文件夾的所有文件移動到dirA照片文件夾而不刪除dirA照片文件夾數據。將幾個文件移動到不同目錄的Shell腳本

由於名稱和文件夾結構各不相同,數據以百萬爲單位如何移動它們併合並,以使所有數據保持不變?

我試過使用zip。我壓縮了dirB的照片文件夾,將它移動到dirA並嘗試解壓縮,但它不在dirA照片文件夾中,它將進入dirB照片文件夾。我已經嘗試將dirB照片文件夾的所有者更改爲dirA所有者,但它也無效。唯一的工作是移動命令,所以我怎樣才能達到這個mv

mv /home/xyz/public_html/photo/ABC/Something/something/xyz.jpg /home/ABCDE/public_html/photo/ABC/Something/something/xyz.jpg 

所有文件都是jpeg或png。

回答

0

聽起來像你需要rsync,與合併選項,而不是覆蓋。如果你正在使用任何體面和最新版本的linux,你應該默認安裝rsync。

源:/home/xyz/public_html/photo/ABC/Something/something/xyz.jpg
目標:/home/ABCDE/public_html/photo/ABC/Something/something/xyz.jpg

rsync -avibu --ignore-existing /home/xyz/public_html/photo/ /home/ABCDE/public_html/photo 

在這個命令我隨機選擇頂級目錄。您可能想根據您的需求進行修改。還要注意源和目標上的尾部「/」。否則,文件的放置可能是關閉級別的目錄。

-b使rsync備份文件存在於兩個文件夾中,將〜追加到舊文件。您可以用--suffix string_of_your_choice -u讓rsync傳輸跳過文件,這些文件在目標中的位置比源文件中更新

+0

thx您的建議,但我該如何做到這一點可以üPLZ指南 – sachin

+0

只需移動命令即可工作???/ – sachin

+0

請查看我做的更新和移動命令,如果您想覆蓋目標目標上的文件,它將工作 – MelBurslan

相關問題