scp复制文件,过滤多个目录或者文件 rsync
比如有一个/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 root@191.167.20.219:/usr/
rsync -av --exclude node_modules/ --exclude logs/ /home/kong/ /tmp/kong/
————————————————
原文链接:https://blog.csdn.net/enter89/article/details/99725982