我想仅同步某些文件类型(例如.py
),我想排除某些目录(例如venv
)。
这就是我的尝试:
rsync -avz --include='*/' --exclude='venv/' --include='*.py' --exclude='*' /tmp/src/ /tmp/dest/
但它没有用。
我错过了什么?
答案 0 :(得分:1)
使用rsync
,您无需使用--include="*.py"
在副本中包含'*.py'
个文件。 --include
选项仅包含之前被--exclude=
排除的文件。 rsync
指定**
作为通配符说明符。例如,如果要复制当前目录(和子目录)中的所有.py
文件,但不复制venc
目录中的任何内容,则可以执行类似以下操作:
rsync -uav --exclude="venc" **.py destination
将递归地将当前工作目录中和下面的所有.py
文件复制到destination
,不包括venc
目录及其下面的任何内容。