我使用rsync命令同步远程> local
两个目录命令是(在python脚本中使用)
os.system('rsync --verbose --progress --stats --recursive\
--copy-links --times --include="*/" --include="*good_name*.good_ext*"\
--exclude-from "/myhome/mydir/src/rsync.exclude"\
%s %s'%(remotepath,localpath))
我想要排除某些目录,这些目录具有我想要包含的相同文件。
我希望以递归方式包含
any_dir_name/any_file_name.good
但我想排除
中的所有文件bad_dir_name/
我使用--exclude-from
,这是我从文件中排除
*
/*.bad_dir_name/
不幸的是它不起作用。我怀疑它可能与--include="*/"
有关但如果我将其删除,该命令根本不会同步任何文件。
答案 0 :(得分:2)
我明白了。我使用-vv
来查找目录在同步列表中显示的规则,因为rsync支持正则表达式,
我将包含声明从"*/"
更改为
--include="*[^.bad_dir_name]/"
现在一切正常。