本文实例讲述了CentOS平台实现搭建rsync远程同步服务器的方法。分享给大家供大家参考,具体如下:
rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 rsync 同步本地硬盘中的不同目录。
rsync和scp的区别:
rsync支持增量同步,不管是文件数量的新增还是文件内容的新增,scp不行
注意事项:
1、centos默认已经安装rsync了,输入命令rsync查看,如果无法正常工作可参考文章最后的链接进行操作
2、rsync只会增量同步,从服务器如果删除 下次同步还会有,--delete 删除目标目录比源目录多余的文件
3、同步命令可用程序执行、也可定时执行、手动执行
4、修改配置文件后 记得重启service xinetd restart
5、文件很大可先tar打包压缩后再传输
序号 | IP地址 | 简称 |
1 | 192.168.46.32 | A机器 |
2 | 192.168.46.11 | B机器 |
先看下A机器上,logs文件夹下的文件:
[root@h1 logs]# ll
总用量 4
-rw-r--r-- 1 root root 3 8月 30 02:29 a.txt[root@h1 logs]#
然后,我们在B机器上,执行同步命令如下:
[root@h2 logs]# ll
总用量 0
[root@h2 logs]# rsync -av --delete 192.168.46.32:/root/logs /root/logg/receiving incremental file listlogs/logs/a.txtsent 34 bytes received 107 bytes 282.00 bytes/sectotal size is 3 speedup is 0.02[root@h2 logs]# ll
总用量 4
-rw-r--r-- 1 root root 3 8月 30 02:29 a.txt[root@h2 logs]#
然后,我们在A机器上的log文件下,新增一个b.txt,再测试同步命令:
[root@h2 logs]# rsync -av --delete 192.168.46.32:/root/logs /root/logg/receiving incremental file listlogs/logs/b.txtsent 34 bytes received 125 bytes 318.00 bytes/sectotal size is 5 speedup is 0.03[root@h2 logs]#
通过日志,我们发现如果新增一个使用rsync仅仅同步了新增的文件: 现在我们在A服务器上的log文件夹下的a.txt里面新增一行内容,再次执行同步命令:
[root@h2 logs]# rsync -av --delete 192.168.46.32:/root/logs /root/logg/receiving incremental file listlogs/a.txtsent 37 bytes received 128 bytes 330.00 bytes/sectotal size is 9 speedup is 0.05[root@h2 logs]#
我们发现rsync命令也能很好的识别出来 最后我们在来看下,同时改动,A服务器上的a和 b文件,一个新增一行,一个删除一行,来测下增量:
[root@h2 logs]# rsync -av --delete 192.168.46.32:/root/logs /root/logg/receiving incremental file listlogs/logs/a.txtlogs/b.txtsent 65 bytes received 174 bytes 478.00 bytes/sectotal size is 10 speedup is 0.04[root@h2 logs]#
我们发现rsync也能很好的识别出来。 最后,我们在来看下,如何在B服务器上向A服务器上发送数据,注意,散仙刚在上面的演示,是从B服务器上下载A服务器上的数据,现在我们要演示的是如何在B服务上主动发送数据到A服务器上,原理一样,都是以增量的方式的操作的,只不过写IP的方式,变换了一下位置:
新闻热点
疑难解答