rsync+sersync快速配置文档
=================================================================================
Rsync+sersync实现数据实时同步(一台装sersync,一台装rsync服务。)
Sersync服务器是(安装在数据源, 源机器) ;Rsync服务器(安装在备份端, 目标机器);Sersync做时刻监控,
=================================================================================
配置时先配置Rsync服务器(安装在备份端, 目标机器)
1、yum install -y rsync xinetd
2、创建备份数据存放目录 /mysql_backup/
mkdir -p /mysql_backup
3、配置rsync配置文件 vim /etc/rsyncd.conf,内容如下:(蓝色为需要根据实际情况修改的地方)
#运行进程的身份
uid = root
#运行进程的组
gid = root
#填写服务器自己的IP
address = 192.168.0.64
#定义监听端口
port = 873
#允许的IP或者网段
hosts allow = 192.168.0.0/24
#是否囚牢,锁定家目录,rsync被黑之后,黑客无法再rsync运行的家目录之外创建文件,选项设置为yes
use chroot = yes
#并发连接数
max connections = 100
# 超时时间(秒)
timeout = 600
# 指定rsync的pid目录
pid file = /var/run/rsyncd.pid
# 指定rsync的锁文件【重要】
lock file = /var/run/rsync.lock
# 指定rsync的日志目录
log file = /var/log/rsyncd.log
# 指定rsync的欢迎提示语
motd file = /etc/rsyncd.motd
#####################开始定义模块##################
#模块名称使用 [] 阔起,模块名称可以自定义,可以定义多个模块
[wwwroot]
#指定备份路径/mysql_backup/
path = /mysql_backup/
#模块描述信息 ,可添加模块用途描述
comment = xuegod rsync server
#指定备份路径属性是否为只读
read only = false
#列出模块名称查看
list = yes
#登录验证用的用户名
auth users = rsyncuser
#存放登录验证用的用户名密码
secrets file = /etc/rsync.passwd
######################定义模块结束##################
uid= root gid= root port = 873 hosts allow = 192.168.3.0/24 use chroot = yes max connections = 100 timeout = 600 pid file = /var/run/rsync.pid lock file = /var/run/rsync.lock log file = /var/log/rsync.log motd file = /etc/rsync.motd [mysql] comment= mysql rsync server path = /mysql_backup/ read only = false list = yes auth users = rsyncuser secrets file = /etc/rsync.passwd
4、创建提示文件和用户密码
echo "Welcome to Backup Server $HOSTNAME" > /etc/rsyncd.motd echo "rsyncuser:password123" >> /etc/rsync.passwd chmod 600 /etc/rsync.passwd
5、启动服务
systemctl start xinetd ps aux | grep rsync kill 1526
#1526是rsync的daemon进程,不要使用kill -9 ,会导致下次启动需要删除/var/run/rsyncd.pid 文件
rsync --daemon --config=/etc/rsyncd.conf ps aux | grep rsync #查看服务是否启动 netstat -tlunp | grep rsync
然后在配置Sersync服务器:
1、yum install -y rsync xinetd
2、上传解压sersync程序包,重命名解压目录,修改sersync配置文件
sersync程序包下载地址:sersync2.5.4_64bit_binary_stable_final.tar.gz
tar zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local && cd /usr/local mv GNU-Linux-x86/ sersync && cd sersync/ cp confxml.xml confxml.xml.backup vim confxml.xml #从24行开始修改 <localpath watch="监控变化目录"> <remote ip="远程服务器IP" name="模块名称"/> #从31行开始修改 <auth start="启用true" users="认证用户名" passwordfile="认证密码存放文件路径"/> <userDefinedPort start="false" port="874"/><!-- port=874 --> <timeout start="false" time="100"/><!-- timeout=100 -->
保存confxml.xml 配置
3、启动文件
./sersync2 -d -r -o ./confxml.xml
4、设置开机自启动
echo ‘/usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml’ >> /etc/rc.d/rc.local
5、添加脚本监控sersync是否正常运行
vim /opt/check_sersync.sh #!/bin/sh #sersync程序安装目录 sersync="/opt /sersync/sersync2" #sersync程序配置文件路径 confxml="/opt /sersync/confxml.xml" #检测sersync程序进程是否存在 status=$(ps aux |grep 'sersync2'|grep -v 'grep'|wc -l) if [ $status -eq 0 ];then $sersync -d -r -o $confxml & else exit 0; fi
补充: 配置多实例情况
1、配置多个不同的confxml.xml文件(比如:www、bbs、blog....等等)
2、根据不同的需求同步对应的实例文件
/usr/local/sersync/sersync2 -d -o /usr/local/sersync/www_confxml.xml
/usr/local/sersync/sersync2 -d -o /usr/local/sersync/bbs_confxml.xml