搭建Rsync+sersync实时同步文件系统

搭建Rsync+sersync实时同步文件系统

搭建环境:

角色 系统 版本 IP hosts别名
Master CentOS 7.0 192.168.0.116 rsync00
Slavet CentOS 7.4 192.168.0.114 rsync01

开始部署

两台服务器都要执行的操作

关闭防火墙


​systemctl stop firewalld

​systemctl disable firewalld

禁用SElinux安全机制

setenforce 0

安装rsync

yum -y install rsync

添加本地dns解析

echo -e "192.168.0.116\trsync00\n192.168.0.117\trsync01" >> /etc/hosts

Slave 操作

修改 rsync配置文件

vim /etc/rsync.conf

uid = root
gid = root
port = 873
use chroot = no
max connections = 2000
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = rsync00
#hosts deny = 0.0.0.0/32
auth users = rsync
secrets file = /etc/rsync.pas
	[www]
		comment = www
		path = /data/www/

创建用户认证文件

echo "rsync:123456">/etc/rsync.pas
chmod 600 /etc/rsync.pas

启动守护进程,加入开机自启

启动:
 	rsync --daemon
查看进程:
	ps -ef | grep rsync
加入开机自启:
echo -e "/usr/bin/rsync --daemon" >> /etc/rc.local

Master上操作

mkdir /data/www -pv
echo "123456">/etc/rsync.pas
chmod 600 /etc/rsync.pas
touch /data/www/www.log

在Mater上执行同步

[root@localhost www]# rsync -avH --port=873 --progress --delete /data/www/ rsync@rsync00::www --password-file=/etc/rsync.pas
sending incremental file list
deleting M.txt
./
www.log
              0 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/2)

sent 116 bytes  received 55 bytes  342.00 bytes/sec
total size is 0  speedup is 0.00

显示结果和上面一样就是同步成功了,在Slave上看一下,会有www.log文件

开始部署sersync

查看内核是否支持inotify

[root@localhost www]# ll /proc/sys/fs/inotify
总用量 0
-rw-r--r--. 1 root root 0 4月   2 14:51 max_queued_events
-rw-r--r--. 1 root root 0 4月   2 14:51 max_user_instances
-rw-r--r--. 1 root root 0 4月   2 14:51 max_user_watches

vim /etc/sysctl.conf ,添加以下代码

		#Slave上修改
        fs.inotify.max_queued_events=99999999
        fs.inotify.max_user_watches=99999999
        fs.inotify.max_user_instances=65535

下载 sersync
需要才能下载,建议使用迅雷下载,或者点击此处 下载
安装sersync

#Master上操作
tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
mv GNU-Linux-x86/ /usr/local/sersync
cd /usr/local/sersync/
cp confxml.xml confxml.xml_bak

修改配置文件

vim confxml.xml
#如果有多个同步模块,则按下面格式依次去写,仅更改
 23     <sersync>
 24         <localpath watch="/data/www">
 25             <remote ip="rsync01" name="www"/>
 26             <!--<remote ip="192.168.8.39" name="tongbu"/>-->
 27             <!--<remote ip="192.168.8.40" name="tongbu"/>-->
 28         </localpath>
 29         <rsync>
 30             <commonParams params="-artuz"/>
 31             <auth start="true" users="rsync" passwordfile="/etc/rsync.pas"/>
 32             <userDefinedPort start="false" port="874"/><!-- port=874 -->
 33             <timeout start="false" time="100"/><!-- timeout=100 -->
 34             <ssh start="false"/>
 35         </rsync>
 36         <failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->

创建日志存放目录

mkdir /usr/local/sersync/logs/
touch /usr/local/sersync/logs/rsync_fail_log.sh

启动服务

 /usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml

添加到开机启动

echo -e " /usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml" >> /etc/rc.local

配置多实例

#配置多实例只需对应不同的配置文件即可
/usr/local/sersync/sersync2  -d -o /usr/local/sersync/test1_confxml.xml
/usr/local/sersync/sersync2  -d -o /usr/local/sersync//test2_confxml.xml
/usr/local/sersync/sersync2  -d -o /usr/local/sersync//test3_confxml.xml

你可能感兴趣的:(部署安装)