Rsync,仅包括某些目录以外的某些文件类型

时间:2016-09-02 21:52:19

标签: linux unix rsync

我想仅同步某些文件类型(例如.py),我想排除某些目录(例如venv)。

这就是我的尝试:

rsync -avz --include='*/' --exclude='venv/' --include='*.py' --exclude='*' /tmp/src/ /tmp/dest/

但它没有用。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

使用rsync,您无需使用--include="*.py"在副本中包含'*.py'个文件。 --include选项仅包含之前被--exclude=排除的文件。 rsync指定**作为通配符说明符。例如,如果要复制当前目录(和子目录)中的所有.py文件,但不复制venc目录中的任何内容,则可以执行类似以下操作:

rsync -uav --exclude="venc" **.py destination

将递归地将当前工作目录中和下面的所有.py文件复制到destination,不包括venc目录及其下面的任何内容。