百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 网站模板(百分百源码网)>电脑软件>服务器> rsync只同步指定目录的要领(已测)
分享本文到:

rsync只同步指定目录的要领(已测)

发布时间:05/16 来源:未知 浏览: 关键词:

rsync同步指定目录
rsync运用–include参数与–exclude参数来实现同步指定目录,并且–exclude目录放在背面。
例如:
linux上文件目录

复制代码 代码如下:

ls /usr/local/apache/htdocs/site
aa
bb
cc
dd
ee
..
zz

只想同步aa,bb,ee这三个目录,其他的不一样步。

实现代码:

复制代码 代码如下:

/usr/local/rsync/bin/rsync -azv  --include "aa/" --include "bb/" --include "ee"  --exclude "/*"  --progress rsync://127.0.0.1/site /work/backup/htdocs_bak/site

注明:

–include “aa/” –include “bb/” –include “ee” 包含了你要同步的目录 –exclude包含了不一样步的目录所有用“/*”指定。
–exclude “/*” 除了–include同步的目录外,排除其他目录
rsync://127.0.0.1/site 为你rsync服务端要同步的目录
/work/backup/htdocs_bak/site 为你客户端的目录

rsync同步指定正则文件(含子目录)

前阵子做日志备份,把各个服务器上的日志同步到日志服务器上做备份,刚开端比较暴力,把所有紧缩好的*gz文件全部传送到日志备份服务器上。后来,发明这种方式非常不好,一旦备份的目录产生转变,服务器上又会把它所有的*gz文件全部再传一遍,即浪费工夫又给服务i/o发生无须要的压力,后来想只同步某天的*gz文件。

 需求描述:
有一个相似于这样的目录构造,子目录的个数是不肯定的

复制代码 代码如下:

[root@IND_ tlbb]# tree
.
|-- ReadMe.txt
| |-- Audit
| `-- Money_2013-09-10.tgz
|-- Audit_2013-09-10.tgz
`-- Install

我想同步*.py结尾的东东

同步完成后

复制代码 代码如下:

[root@IND_ tlbb]# tree
.
|-- Audit
| `-- Money_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文件,再允许所有子目录,最后拒绝所有其他的。

看到这里的朋友大家确定发明了要是文件夹过多,确定比较累,直接弄个txt文件将需要同步的与不需要同步都离别弄下就更好了,下面的要领在4.10版本中测试正常

1、只同步拟定目录

要是目前目录文件夹有aa,bb,cc,dd等许多文件夹,我们只同步aa,bb,cc

先创建一个txt文件,例如 include.txt

复制代码 代码如下:

aa
bb
cc

只需要这么写就可以了--files-from="include.txt"

复制代码 代码如下:

@echo off
rsync -vzrtopg --progress --no-super --files-from="include.txt" --password-file=wtjb51.secrets /cygdrive/g/www/filesjb51net/web/ jb51@ip::filesjb51

2、不要同步哪些同步

创建一个exclude.txt文件,不一样步dd文件夹

复制代码 代码如下:

dd

--exclude-from=exclude.txt

运用rsync -aP --exclude=upload 只能排除upload文件/目录。
要是要排除多个文件/目录,怎么办?
那只能建一个exclude.list,里面填写要排除的目录(一行一个文件/目录),然后rsync -aP --exclude-from=“exclude.list“
如:rsync -aP --exclude-from=/root/exclude.list 192.168.113.118::web_bak/www/ /data/server/www/ (从118同步数据到本机)
补充
--exclude=PATTERN exclude files matching PATTERN
--exclude-from=FILE read exclude patterns from FILE
--include=PATTERN don't exclude files matching PATTERN
--include-from=FILE read include patterns from FILE

补充:
rsync -vau --files-from="/root/syncto.txt" --exclude-from="/root/excludefile.txt" /data/web/ root@192.168.11.12:/data/web/用这种方式就可以了,其中syncto.txt写入要同步的文件,execludefile.txt存不需要同步的文件

热门标签:dede模板 / destoon模板 / dedecms模版 / 织梦模板
责任编辑:CZz1T
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有152人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助



订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板