天天看點

scp複制檔案,過濾多個目錄或者檔案 rsync使用rsync --exclude

比如有一個/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/           

繼續閱讀