一、Rsync+sersync
(1)sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字;
(2)rsync在同步的时候,只同步发生变化的这个文件或者这个目录(每次发生变化的数据相对整个同步目录数据来说是很小的,rsync在遍历查找比对文件时,速度很快),因此,效率很高。
二、rsync服务配置
两台服务器:192.168.203.138(主) 192.168.203.143(备)
复制目的:把文件从138的 服务器 自动 复制到 143服务器上
安装步骤:
(1)两台服务器都需要安装rsync
yum -y install xinetd rsync
(2)编辑配置文件:
vi /etc/rsyncd.conf
可以把这个配置文件的内容全部清空,将下面的内容复制进去:
#rsync_config
#created by HQ at 2017
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
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 = 192.168.203.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[data]
path = /opt/data/
拷贝数据的目录必须存在,如果不存在需要自行创建
(3)创建密码文件:格式(rsync_backup 是用户名 123456是密码)
143服务器需要设置用户名密码:
echo 'rsync_backup:123456' >/etc/rsync.password
138服务器不需要设置用户名,只需要设置一个密码:
echo '123456' >/etc/rsync.password
(4)修改权限
chmod 600 /etc/rsync.password
(5)启动两台服务器的rsync服务
rsync --daemon
(6)设置开机自启
vim /etc/rc.local
在这个文件的最后加入如下配置:
# rsync server progress
/usr/bin/rsync --daemon
(7)查看rsync是否启动
ps -ef | grep rsync
说明启动成功:
(8) 传输文件夹的权限设置(防止出现各种奇怪的报错),两台服务器都需要执行:
chmod -R 777 data/
(9)添加用户(具体不清楚这是干什么用,但是不添加就会报错),两台机器都执行一下
useradd -M -s /sbin/nologin rsync
(10)测试传输文件,我们在138的服务器 /opt/data 目录下面创建一个文件,执行下面的命令,之后看一下 143服务器的/opt/data目录是否有这个文件,如果有了,说明部署的没问题。
rsync -vz /opt/data/* rsync_backup@192.168.203.143::data --password-file=/etc/rsync.password
成功把a.txt文件传输过去了
三、使用sersync实时监控推送
只需要按转载138服务器上。因为是要实现把文件从主服务器同步到从服务器上
(1)下载安装包
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz
(2)解压安装包
tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
(3)执行下下面的操作
cd GNU-Linux-x86/
mkdir -p /opt/sersync/{logs,conf,bin}
cp sersync2 /opt/sersync/bin
cp confxml.xml /opt/sersync/conf/
cd /opt/sersync/conf/
(4)修改配置文件
vi confxml.xml
修改如下内容:
(5)接下来就是启动sersync
../bin/sersync2 -d -r -o ./confxml.xml
接下来测试可以测试一下,你可以给/opt/data目录下加一个文件,或者是给文件中添加点内容,我们的从服务器就会自动同步过去了。
希望你能顺利完成,踩了无数的坑,终于弄好了。。。。记录一下,以后方便自己使用。。。。。