最近在做测试,服务器上的包要一台一台的上传,实在太麻烦,就想到了用rsync+sersync做个同步目录。
一、rsync介绍
RSYNC=remote sync 远程同步,高效。和scp类似,不过rsync可以边复制,边统计、比较,而scp则不能。
1. 特性:(1) 能保持原来文件的权限,时间,软硬链接等
(2) 第一次rsync会复制所有文件,第二次只复制修改过的文件,节省资源和时间。
(3) 传输过程中能实行压缩、解压缩操作,使用更少带宽。
(4) 安全,支持匿名传输。
2.数据同步方式
推:push 一台主机把数据推送给其他主机,服务器开销大,适合后端服务器少的情况。
拉:pull 所有主机定时去找服务器拉数据,会导致数据缓慢。
3.服务安装
将数据上传到test1服务器上,通过push 的方式推到test2服务器上。所以在test2上安装服务端和xinetd(超级互联网守护 进程服务)。如果rsync进来的是873端口,xinetd会通知它所管辖的rsync服务来做回应,之后就是两个rsync之间的通讯。
常用参数:-a (保存当前权限等信息)
-v (输出信息)
-z (资料传输时进行压缩)
服务端:test2
[root@test2 ~]# yum install rsync xinetd -y
[root@test2 ~]# rsync --daemon //启动rsync服务
客户端:test1
[root@test1 ~]# yum install rsync -y
测试:
[root@test1 ~]# useradd ksidc; echo ksidc:123456 | chpasswd //新建用户
[root@test1 ~]# setfacl -R -m user:ksidc:rwx /rsync-data/ //赋予权限