比如有一個/usr/tmp/ 下面有幾個目錄 dira, dirb,dirc, 現在要想把 /usr/tmp 拷貝到 /home/xx/ 下面,但又不想要dirc
使用rsync --exclude
cd /usr
# 将tmp目錄下的檔案複制到 /home/xx/,排除其中的dirc目錄
rsync -avP --exclude=dirc/ tmp /home/xx/
注意 dirc/ 後面的 / 一定要,指名是目錄,如果不加的話 dirc檔案也會被排除
如果想排除多個目錄或檔案的話 使用
rsync -avP --exclude-from=/usr/exclude.list
exclude.list 必須是絕對路徑,裡面儲存了各種要排除的檔案或目錄,以換行隔開
-a, --archive 歸檔模式,表示以遞歸方式傳輸檔案,并保持所有檔案屬性,等于-rlptgoD
-v, --verbose 詳細模式輸出
-P 等同于 --partial 保留那些因故沒有完全傳輸的檔案,以是加快随後的再次傳輸
直接在後面加多個排除的目錄
# PythonAPI目錄下的檔案以及檔案夾複制到區域網路219的/usr目錄下,其中排除.svn,build,dist,.vscode等檔案夾
rsync -av --exclude .svn/ --exclude build/ --exclude dist/
--exclude .vscode/ --exclude __pycache__
PythonAPI [email protected]:/usr/