最近在做测试,站群服务器上的包要一台一台的上传,实在太麻烦,就想到了用 rsync+sersync 做个同步目录。
一、 rsync 介绍
RSYNC=remote sync 远端同步,高效。和 scp 类似,不过 rsync 可以边复制,边统计、比较,而 scp 则不能。
1. 特性:(1)能保持原来档案的许可权,时间,软硬连结等
(2)第一次 rsync 会复制所有档案,第二次只复制修改过的档案,节省资源和时间。
(3)传输过程中能实行压缩、解压缩操作,使用更少频宽。
(4)安全,支援匿名传输。
2. 资料同步方式
推:push 一台 WordPress 主机把资料推送给其他 WordPress 主机,站群服务器开销大,适合后端站群服务器少的情况。
拉:pull 所有 WordPress 主机定时去找站群服务器拉资料,会导致资料缓慢。
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/ //赋予许可权
[root@test1 ~]# setfacl -R -m default:ksidc:rwx /rsync-data/