目标服务器 192.168.100.47
源服务器 192.168.100.46
目标服务器配置
[root@node01 nodejs]# cat /etc/rsyncd.conf
#日志文件
log file = /var/log/rsyncd.log
#pid文件
pidfile = /var/run/rsyncd.pid
#锁文件
lock file = /var/run/rsync.lock
#密码文件
secrets file = /etc/rsync.pass
#自定义一个名称,认证模块名
[nodejs]
#要同步的目录
path = /home/nodejs/
#注释,要与自定义名称一致
comment = nodejs
#设置rsync运行权限
uid = root
gid = root
#默认端口
port=873
#如果"use chroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true.但是这个一般不需要,我选择no或false
use chroot = no
#是否允许可读可写
read only = no
#是否允许列表
list = no
#最大连接数
max connections = 200
#超时时间
timeout = 600
#认证的用户名
auth users = zmj
#允许访问的ip,可填写192.168.153.0/24
hosts allow = 192.168.100.0/24
#默认的,不要动了。
hosts deny = 0.0.0.0/32
源服务器配置
[root@master nodejs]# cat /etc/rsyncd.passwd
abc123
rsync -auv --password-file=/etc/rsyncd.passwd /home/nodejs/ zmj@192.168.100.47::nodejs
同步成功
sersync加入
源服务器配置
#安装sersync
http://sersync.sourceforge.net/ 软件官网
下载需要×××,我给上传到百度云了,欢迎下载。
链接:https://pan.baidu.com/s/1-NcvYkyWBb7k3Gln8KZxlA 密码:ovd9
[root@master sersync]# pwd
/usr/local/sersync
[root@master sersync]# ls
confxml.xml sersync2
[root@master sersync]#
vim confxml.xml
24 <sersync>
25 <localpath watch="/home/nodejs/">
26 <remote ip="192.168.100.47" name="nodejs"/>
32 <auth start="true" users="zmj" passwordfile="/etc/rsyncd.passwd"/>
38 <crontab start="true" schedule="600"><!--600mins-->
参数说明:
localpath wath="/home/nodejs" #源服务器同步目录
<remote ip="192.168.100.47" name="nodejs"/> # 目标服务器ip,同步模块
<auth start="true" users="zmj" passwordfile="/etc/passwd.txt"/> # users="xx" #使用xx去同步
passwordfile="
/etc/rsyncd.passwd
" #使用的目标服务器密码文件为 start="true" schedule="600" 设置为true,每隔600分钟全盘同步一次
#设置开机启动
vim /etc/rc.d/rc.local
/usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml
#添加监控脚本
vim /home/check_sersync.sh
#!/bin/bash
sersync="/usr/local/sersync/sersync2"
confxml="/usr/local/sersync/confxml.xml"
status=$(ps aux|grep 'sersync2'|grep -v grep|wc -l)
if [[ $status -eq 0 ]]; then
$sersync -d -r -o $confxml &
else
exit 0;
fi
#添加执行权限
chmod +x /home/check_sersync.sh
#设置定时任务
crontab -e
#每隔两分钟执行一次
*/2 * * * * /bin/bash /home/check_sersync.sh > /dev/null 2>&1
测试同步
在源服务器上 /home/nodejs/ 下放置一个redis的安装包及解压包。
ls -l
total 1628
drwxrwxr-x 6 root root 4096 Dec 18 2015 redis-3.0.6
-rw-r--r-- 1 root root 1372648 May 8 17:52 redis-3.0.6.tar.gz
等两分钟以后去目标服务器 /home/nodejs 下查看文件是否正常同步。
正常同步,说明配置成功了。