使用 rsync 排除(不要)某些檔案、目錄的複製

於 Linux 要(遠端)複製檔案過來,通常都使用 scp,但是要複製的目錄裡面,有某些層級的資料夾不想要複製過來,scp 找不到適合的參數,於是找到 rsync 來完成。

使用 rsync 排除(不要)某些檔案、目錄的複製

測試環境

  1. mkdir source
  2. cd source
  3. mkdir -p {01..05}/aa
  4. mkdir -p {01..05}/bb
  5. mkdir -p {01..05}/cc

使用 scp 複製 source 資料夾所有,排除 bb

  1. scp -r example.com:source/ /tmp/dist
  2. cd /tmp/dist
  3. find ./ -name bb -delete # 刪掉 bb
  4. 註:此方法是全複製過來,再來砍掉,但是檔案內容太大或太多,就不太適合

使用 rsync 複製 source 資料夾所有,排除 bb

  • rsync -av --exclude=bb example.com:source/ /tmp/dist # 此行即完成
  • rsync -av --exclude=bb --exclude=cc example.com:source/ /tmp/dist # 想把 bb, cc 都排除掉

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料