一. 场景:利用rsync实现在负载均衡情况下,项目文件代码实现指定频率同步
二. 安装:
1.检测是否安装rsync服务
rpm -qa|grep rsync
2.服务端和客户端安装rsync
yum -y install rsync
也可源码安装
rsync下载地址:http://rsync.samba.org/
安装方式
./configure
make && make install
服务器A,B都安装rsync服务。A为主服务器,A服务器以服务器模式运行rsync,而B则以客户端方式运行rsync。
当A服务器有文件变更时,B同步变更文件。一实现文件同步。
三. 服务端配置:
1. 服务器A配置
vi /etc/rsyncd.conf #根据自己的文件目录而定
#[globle] strict modes = yes port = 873 uid = root gid = root user chroot = no max connections = 5 #同时的最大连接数 timeout = 600 pid file = /var/run/rsyncd.pid #进程的pid存放位置 lock file = /var/run/rsyncd.lock #locak文件位置 log file = /var/log/rsyncd.log #日志文件位置 [eeetb.com-rsyncd] #建立一个同步名,服务器B通过此名称获得同步位置 path = /home/wwwroot #需要同步的文件存放位置 ignore errors read only = no list = no hosts allow = 47.94.255.44 #允许服务器B地址,如果是内网可以使用内网IP auth users = root #允许哪些用户 secrets file = /etc/rsyncd.password #指定允许的用户和密码
2. 建立用户密码文件
vi /etc/rsyncd.password
root:123456 #允许的用户和密码
3. 修改防火墙策略,允许873端口(tcp/udp)
vi /etc/sysconfig/iptables #加入下面规则 -A INPUT -s 47.94.255.44 -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
4. 启动rsync服务端
/usr/bin/rsync --daemon --config=/etc/rsync.conf
添加rsyncd开机启动
echo '/usr/bin/rsync --daemon --config=/ect/rsyncd.conf' >>/etc/rc.local
四. 客户端配置:
1. 客户端服务器B配置
vi /etc/rsyncd.password 123456 #服务器A设置的密码
2. 启动客户端
/usr/bin/rsync -avzP --delete --progress --password-file=/etc/rsyncd.password root@ip地址::eeetb.com-rsyncd /home/wwwroot/
3. 设置定时任务
略。。。
五. 注意:
- 客户端启动 注意密码文件 文件权限必须为 600
- 服务端,客户端密码一致性(注:服务端:用户:密码 客户端: 密码)