我有大量具有類似子資料夾結構的目錄。每個目錄都有一個子目錄“s”。有些目錄的名稱中有“_tmp”前綴。
我想要的是將所有主目錄複製到新伺服器,但將 s-subdirs 和 _tmp -dirst 保留在傳輸之外。
在 OSX(rsync v.2.6.9)上,此命令運作良好:
rsync -avz --exclude */s/* --exclude *_tmp SOURCE/ DEST/
但在 Ubuntu(rsync v. 3.0.7)上,相同的命令失敗,_tmps 已退出,但 s 資料夾仍在。
答案1
我會要求您在命令前面添加以echo
查看您正在運行的內容。
echo rsync -avz --exclude */s/* --exclude *_tmp SOURCE/ DEST/
根據您的 shell、shell 設定和目前目錄的內容,未加引號的內容*_tmp
可能會擴展為特定檔案(該檔案可能與您要排除的大多數檔案不符)。應echo
顯示實際發生的情況。
您應該用引號保護星號以防止 shell 擴展。
rsync -avz --exclude '*/s/*' --exclude '*_tmp' SOURCE/ DEST/