rsync同步指定正则文件(含子目录)
时间:2013-10-15 10:10:20 作者:vaster 标签: rsync 分类: Linux服务
前阵子做日志备份,把各个服务器上的日志同步到日志服务器上做备份,刚开始比较暴力,把所有压缩好的*gz文件全部传送到日志备份服务器上。后来,发现这种方式非常不好,一旦备份的目录发生改变,服务器上又会把它所有的*gz文件全部再传一遍,即浪费时间又给服务i/o产生不必要的压力,后来想只同步某天的*gz文件。
需求描述:
有一个类似于这样的目录结构,子目录的个数是不确定的
[root@IND_ tlbb]# tree . |-- ReadMe.txt | |-- Audit | `-- Money_2013-09-10.tgz |-- Audit_2013-09-10.tgz`-- Install `-- Install
我想同步*.py结尾的东东
同步完成后
[root@IND_ tlbb]# tree . |-- Audit | `-- Money_2013-09-10.tgz`-- Audit_2013-09-10.tgz `-- Audit_2013-09-10.tgz
方式1:(失败)
rsync -auvz --include="${YDate}gz " ./ 192.168.137.22::tlbb
结果:会把所有的文件都同步过去了,连Install都同步过去了
方式2:
rsync -aruvz --include="${YDate}gz" --include="/" --exclude="" ./* 192.168.137.22::tlbb
结果:能把今天所有的gz文件都正常传过去喽,先允许所有的匹配的gz文件,再允许所有子目录,最后拒绝所有其他的。