sersync 实时同步笔记(原)
01.NFS案例
准备3台虚拟机服务器,并且请按照要求搭建配置NFS服务。
NFS服务端(A)172.16.1.31
NFS客户端(B)172.16.1.7
NFS客户端(C)172.16.1.8
1.在NFS服务端(A)上共享/data/baimei(可写)及/data/oldgirl(只读)
2.在NFS客户端7挂载/data/baimei
3.在NFS客户端8挂载/data/oldgirl 分别进行测试
服务端配置:
1.安装服务
[root@nfs ~]#yum -y install nfs-utils
2.配置服务
[root@nfs ~]# cat /etc/exports
/data/baimei 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data/oldgirl 172.16.1.0/24(ro,sync,all_squash,anonuid=666,anongid=666)
3.启动服务
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs
客户端配置:
1.安装nfs-utils
[root@nfs ~]# yum -y install nfs-utils
2.查看服务端共享的目录
[root@nfs ~]# showmount -e 172.16.1.31
3.挂载对应的目录
[root@nfs ~]# mount -t nfs 172.16.1.31:/data/baimei /mnt
02.Sersync实时同步
NFS服务器: 10.0.0.31
BACKUP服务器: 10.0.0.41
WEB01: 10.0.0.7
WEB02: 10.0.0.8
10.0.0.31服务器:
1. 安装NFS服务 10.0.0.31
[root@nfs ~]# yum -y install nfs-utils
2. 配置NFS服务
[root@nfs ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
创建目录和用户
[root@nfs ~]# groupadd -g 666 www
[root@nfs ~]# useradd -u666 -g666 -M -s /sbin/nologin www
[root@nfs ~]# mkdir /data
[root@nfs ~]# chown www.www /data
3.启动NFS服务
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs
WEB: 10.0.0.7 10.0.0.8
1.安装nfs-utils
[root@web01 ~]# yum -y install nfs-utils
[root@web02 ~]# yum -y install nfs-utils
2.查看后挂载
[root@web01 ~]# showmount -e 172.16.1.31
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt
[root@web02 ~]# showmount -e 172.16.1.31
[root@web02 ~]# mount -t nfs 172.16.1.31:/data /mnt
BACKUP服务器配置: 10.0.0.41
1.安装rsync
[root@backup ~]# yum -y install rsync
2.配置rsync
[root@backup ~]# cat /etc/rsyncd.conf
uid = www
gid = www
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = welcome to baimeiedu backup!
path = /backup
3.根据配置文件创建必要数据
1)创建用户
[root@backup ~]# groupadd -g 666 www
[root@backup ~]# useradd -u 666 -g666 -M -s /sbin/nologin www
2)创建密码文件
[root@backup ~]# echo rsync_backup:123456 > /etc/rsync.passwd
[root@backup ~]# chmod 600 /etc/rsync.passwd
3)创建目录
[root@backup ~]# mkdir /backup
[root@backup ~]# chown www.www /backup
4.启动rsync
[root@backup ~]# systemctl start rsyncd
[root@backup ~]# systemctl enable rsyncd
客户端: 10.0.0.7 10.0.0.8
命令行执行脚本测试:
[root@web01 scripts]# cat backup.sh
#1.定义目录变量
dir=`hostname`_`hostname -I|awk '{print $2}'`_`date +%F`
#2.创建目录
mkdir -p /backup/$dir
#3.打包重要的数文件
cd /etc/
tar zcf /backup/$dir/etc.tar.gz hosts passwd
#4.推送目录到rsync服务端
export RSYNC_PASSWORD=123456
rsync -avz /backup/$dir rsync_backup@172.16.1.41::backup
#5.查找7天前的文件并且删除
find /backup -mtime +7|xargs rm -rf &>/dev/null
将脚本写入定时任务.
实时监控31的/data目录
1.安装inotify
[root@nfs ~]# yum -y install inotify-tools
2.下载sersync服务
可以通过windows上传的方式
可以在命令行直接下载
[root@nfs server]# cd /server
[root@nfs server]# wget https://raw.githubusercontent.com/wsgzao/sersync/master/sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs server]# ll
total 712
drwxr-xr-x 2 root root 41 Oct 26 2011 GNU-Linux-x86
drwxr-xr-x 2 root root 23 Mar 28 09:42 scripts
-rw-r--r-- 1 root root 727290 Mar 29 10:22 sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs server]# ll GNU-Linux-x86/
total 1772
-rwxr-xr-x 1 root root 2214 Oct 26 2011 confxml.xml
-rwxr-xr-x 1 root root 1810128 Oct 26 2011 sersync2
3.修改目录名称
[root@nfs server]# mv GNU-Linux-x86/ sersync
4.修改配置文件:
....
<inotify>
<delete start="true"/>
<createFolder start="true"/>
<createFile start="true"/>
<closeWrite start="true"/>
<moveFrom start="true"/>
<moveTo start="true"/>
<attrib start="false"/>
<modify start="false"/>
.....
<sersync>
<localpath watch="/data">
<remote ip="172.16.1.41" name="nfs"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-avz"/>
<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.pas"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
5.配置密码文件: 31使用sersync执行推送时候需要使用密码文件
[root@nfs ~]# echo 123456 > /etc/rsync.pas
[root@nfs ~]# chmod 600 /etc/rsync.pas
[root@nfs ~]# ll /etc/rsync.pas
-rw------- 1 root root 7 Mar 29 10:36 /etc/rsync.pas
-------------------------------------------------------
6.修改BACKUP服务器的配置文件增加nfs模块
[root@backup ~]# tail -3 /etc/rsyncd.conf
path = /backup
[nfs]
path = /data
创建目录
[root@backup ~]# mkdir /data
[root@backup ~]# chown www.www /data
重启rsync服务生效
[root@backup ~]# systemctl restart rsyncd
找个客户端测试nfs模块是否正常:
web01:
[root@web01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::nfs
--------------------------------------------------------
最后一步: 运行sersync服务
[root@nfs sersync]# ./sersync2 -h 显示帮助信息
[root@nfs ~]# /server/sersync/sersync2 -dro /server/sersync/confxml.xml
查看进程:
[root@nfs ~]# ps axu|grep sersync
root 2406 0.0 0.0 92324 716 ? Ssl 10:45 0:00 /server/sersync/sersync2 -dro /server/sersync/confxml.xml
杀死进程:
[root@nfs ~]# kill -9 2406
注意: 修改文件前先杀死进程 修改完成后在启动进程
测试: 测试在web01或者web02创建或上传视频 查看backup下面的/data是否有数据
backup服务器安装NFS服务共享/data 作为主NFS的备用服务器
1.安装nfs-utils
[root@backup ~]# yum -y install nfs-utils
2.配置nfs
[root@backup ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
3.启动nfs
[root@backup ~]# systemctl start nfs
[root@backup ~]# systemctl enable nfs
停止NFS主服务器 web01重新挂载到backup服务器
欢迎来撩 : 汇总all