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

原文地址:https://www.cnblogs.com/fqnb001/p/12485147.html