二十八、rsync同步工具深入
1.将rsync服务加入到自启动文件rc.local
echo "/usr/bin/rsync --daemon" >>/etc/rc.local
tail -l rc.local
2.同步文件排除(exclude)
客户端:
单个文件: rsync -avz --exclude=a /dangjingwei rsync_backup@192.168.0.104::oldboy --password-file=/etc/rsync.password
排错:在服务端查看错误log后,想了好久,因为删除了服务端文件,所以在建立新的模块的时候,没有将拥有着改为rsync导致服务端拒绝在模块中更改内容,修改服务端拥有者成功从客户端发送OK了
多个文件: rsync -avz --exclude-from=/dangjingwei/data1/paichu.txt /dangjingwei rsync_backup@192.168.0.104::oldboy --password-file=/etc/rsync.password
经过实验对于同步,第一次同步一致后,如果有目录/文件增加或修改,那么会同步到另外一端;但是如果有目录减少,那么不会同步到另外一端,不会保持一致
服务端:
服务端在/etc/rsyncd.conf中添加,exclude=文件1 文件2 等进行排除文件加,但是一般在企业中,因为在服务器排除要重启,而且一般也再客户端排除就可以了,所以了解即可。
3.无差异同步(--delete)
诚如上面实验所得,都是有差异的同步,在工作中,我们还面临者无差异同步,那么就要用到参数--delete
这个参数风险大,所以用前,一定要和领导确定好:
一般企业场景:1)备份,推:从客户端推到服务端,存在的风险是服务器端有的,客户端没有,删除服务器端的数据
2)代码发布,拉:从服务端拉到客户端,存在的风险是客户端有的,服务端没有,删除了客户端的数据
4.多模块配置
5.截至目前:
文件同步:
scp 、nfs、rsync [文件同步]
drdb(基于文件系统的网络RAID1)
数据库同步:
mysql: replication、drdb(基于文件系统的网络RAID1)
oracle; dataguard(基础同步,逻辑的,物理的)