分类: 网络与安全
2019-03-04 13:30:09
rsync设置只同步某些目录或文件
只同步某些目录或文件,这里就用到了--include和--exclude参数,--include是只同步某些目录或文件,但是必须和--exclude配合使用。
只需要在原来客户端的参数上做一些更改,原来客户端命令如下:
rsync --size-only -azvP --password-file=/opt/mima whsir@192.168.0.10::www /home/wwwroot
例如:现在我只想同步服务端/data/www/js/目录下所有文件,其他的目录或者文件我都不想同步,更改后的参数如下
<其中include和exclude都是相对路径,/* 表示站点目录的其他所有文件;js/表示只同步此文件夹>
rsync --size-only -azvP --include=js/ --exclude=/* --password-file=/opt/mima whsir@192.168.0.10::www /home/wwwroot
好了,上面的参数已经实现了我的目的,只同步js目录,那么又有一个新问题出现了,如果我想要只同步多个目录怎么办?我要写多个--include吗?当然如果不嫌麻烦也是可以的,不过我这里再介绍一个参数--include-from,我可以把要同步的目录全部写到一个文件中,然后通过--include-frome来读取这个文件,参数如下:
rsync --size-only -azvP --include-from="/etc/include" --exclude=/* --password-file=/opt/mima whsir@192.168.0.10::www /home/wwwroot
向文件中添加你想要同步的文件名或文件夹名
cat /etc/include
js
css
这样就实现了只同步js和css两个目录