环境要求:
准备两台服务器(VM) 两个IP 1.A服务器=主服务器===>安装软件(rsync+sersync) 2.B服务器=从服务器===>安装软件(rsync) ip划分 A服务器:192.168.1.200 B服务器:192.168.1.201 操作系统: [[email protected] ~]# hostnamectl Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 27293dbfbbb64cf680e224375a128156 Boot ID: bef11f3b69a8401da09bc9b40eb75ea4 Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-514.10.2.el7.x86_64 Architecture: x86-64 |
A服务器安装:
Rsync可以编译安装或者yum,本机yum安装 [[email protected] ~]# rsync --version rsync version 3.0.9 protocol version 30 Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others. Web site: http://rsync.samba.org/ #下载地址 |
Rsync服务器主要有三要素,端口873
1.认证账号及密码文件 |
/opt/app/rsyncd/auth.pass #本机存放位置,此位置可自由定制.
echo "users:123456" >/opt/app/rsyncd/auth.pass
chmod 600 /opt/app/rsyncd/auth.pass #修改权限,不修改会报错
2.同步文件目录 |
mkdir -p /backup/web #个人定制
3.主要配置文件rsyncd.conf,默认配置文件是示例,这里存放了上面两点的目录 |
cat /etc/rsyncd.conf uid = root #拥有目录权限用户 gid = root #拥有目录权限的组 use chroot = no #内网使用可以不用配置 max connections = 200 #最大连接数 timeout = 300 #超时时间 pid file = /var/run/rsyncd.pid #启动进程写入此PID文件 lock file = /var/run/rsyncd.lock #lock文件来配合最大连接数参数 log file = var/log/rsyncd.log #日志文件 ignore errors = yes #忽略I/O错误 read only = false #允许读写 list = false #不列出列表 hosts allow = 192.168.1.0/24 #允许网段 hosts deny = * #拒绝其他网段 auth users = users #认证用户 secrets file = /opt/app/rsyncd/auth.pass #密码文件 [web] #同步目录 path = /backup/web #End |
Sersync安装:
配置认证密码
echo "123456" >/opt/app/sersyncd/auth.pass #此密码文件不要配置用户,不然报错. chmod 600 /opt/app/sersyncd/auth.pass |
下载软件:根据系统下载32或64软件.
https://code.google.com/archive/p/sersync/downloads |
解压软件
tar zxf sersync2.5.4_64bit_binary_stable_final.tar.gz |
移动到opt这个目录
mv GNU-Linux-x86 /opt/app/sersyncd/sersync |
配置confxml.xml,只贴出了修改部分,红色为修改.其他模块未动.
cd /opt/app/sersyncd/sersync vim confxml.xml <sersync> <localpath watch="/backup/web"> <!--本机同步目录--> <remote ip="192.168.1.201" name="web"/> <!--B服务器IP及同步文件--> <!--<remote ip="192.168.8.39" name="tongbu"/>--> <!--<remote ip="192.168.8.40" name="tongbu"/>--> </localpath> <rsync> <commonParams params="-artuz"/> <auth start="true" users="users" passwordfile="/opt/app/sersyncd/auth.pass"/> <!--认证用户及认证B服务器密码文件目录--> <userDefinedPort start="false" port="874"/><!-- port=874 --> <timeout start="false" time="100"/><!-- timeout=100 --> <ssh start="false"/> </rsync> <failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/> <!--default every 60mins execute once--> <crontab start="false" schedule="600"><!--600mins--> <crontabfilter start="false"> <exclude expression="*.php"></exclude> <exclude expression="info/*"></exclude> </crontabfilter> </crontab> <plugin start="false" name="command"/> </sersync> |
B服务器安装(rsync)
可以复制A服务器配置,不要sersync部分即可.
启动服务,先启动B服务器,在启动A服务器,请关闭防火墙及selinux.或者配置防火墙
/usr/bin/rsync --daemon #rsync服务启动方式,centos7可以用systemctl(yum安装方式)
/opt/app/sersyncd/sersync/sersync2 -r -d -o /opt/app/sersyncd/sersync/confxml.xml #启动sersync,请看启动信息,以免报错
查看端口
ps -ef | grep rsync
netstat -lnt | grep 873
lsof -i:873