實時復制實踐:
?前提:backup rsync服務端部署好草雕。
1)部署NFS客戶端
?[root@nfs01 ~]# echo 'export RSYNC_PASSWORD=oldboy' >>/etc/bashrc
?[root@nfs01 ~]# source /etc/bashrc
[root@nfs01 ~]# echo $RSYNC_PASSWORD
oldboy
測試推送
?[root@nfs01 ~]# rsync -avz /data rsync_backup@172.16.1.41::backup/
原理
2)查看inotify支持情況
[root@nfs01 ~]# uname -r
3.10.0-957.5.1.el7.x86_64
?[root@nfs01 ~]# ls -l /proc/sys/fs/inotify/
總用量 0
?-rw-r--r-- 1 root root 0 4月 19 09:45 max_queued_events
-rw-r--r-- 1 root root 0 4月 19 09:45 max_user_instances
-rw-r--r-- 1 root root 0 4月 19 09:45 max_user_watches
?3)安裝inotify-tools
yum install epel-release -y
?yum install inotify-tools -y
?[root@nfs01 ~]# rpm -ql inotify-tools|head -2
?/usr/bin/inotifywait
/usr/bin/inotifywatch
[root@nfs01 ~]# rpm -qa inotify-tools
inotify-tools-3.14-8.el7.x86_64
4)命令參數(shù)和事件知識
5)測試實踐
inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e create /data
6)思考:實現(xiàn)數(shù)據(jù)復制 監(jiān)控哪些事件燕垃?
?增 改 刪 需要監(jiān)控
?[root@nfs01 ~]# inotifywait -mrq --format '%w%f' -e close_write,delete /data
7)編寫腳本
mkdir /server/scripts -p
?rsync -az --delete /data/ rsync_backup@172.16.1.41::backup
[root@nfs01 /server/scripts]# /bin/sh /server/scripts/monitor1.sh
[root@nfs01 /server/scripts]# tail -2 /etc/rc.local
########################
/bin/sh /server/scripts/monitor1.sh &
sersync實踐:
?1)客戶端推送成功
?rsync -az /data rsync_backup@172.16.1.41::backup
2)部署sersync服務(NFS)
?wget
https://github.com/wsgzao/sersync/blob/master/sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs01 /server/tools]# mkdir /application -p
[root@nfs01 /server/tools]# mv application/sersync /application/
[root@nfs01 /server/tools]# tree /application/
4 directories, 5 files
?[root@nfs01 /server/tools]# cd /application/sersync/
[root@nfs01 /application/sersync]# ls
?bin conf logs readme.txt
[root@nfs01 /application/sersync]# cd conf/
[root@nfs01 /application/sersync/conf]# ls
confxml.xml confxml.xml.ori
3)sersync配置文件:干兩件事:
1)完成監(jiān)控配置:
?inotifywait -mrq --format '%w%f' -e createFolder,close_write,delete,moveFrom,moveTo /data
2)完整命令拼接:
?rsync -az /data --timeout=100 rsync_backup@172.16.1.41::backup
4)啟動服務
?[root@nfs01 /application/sersync/conf]# ../bin/sersync -h
參數(shù)-d:啟用守護進程模式
參數(shù)-r:在監(jiān)控前彻况,將監(jiān)控目錄與遠程主機用rsync命令推送一遍 c
參數(shù)-n: 指定開啟守護線程的數(shù)量戏蔑,默認為10個
參數(shù)-o:指定配置文件越驻,默認使用confxml.xml文件
參數(shù)-m:單獨啟用其他模塊,使用 -m refreshCDN 開啟刷新CDN模塊
參數(shù)-m:單獨啟用其他模塊带膜,使用 -m socket 開啟socket模塊
參數(shù)-m:單獨啟用其他模塊批狐,使用 -m http 開啟http模塊
不加-m參數(shù)扇售,則默認執(zhí)行同步程序
[root@nfs01 /application/sersync/conf]# /application/sersync/bin/sersync -d -n 10 -o /application/sersync/conf/confxml.xml
pkill sersync
二進制程序,不是yum安裝的嚣艇,所以不能systemctl start sersync
配置:systemctl start sersync啟動方案
https://blog.51cto.com/oldboy/2155931
?[root@nfs01 /data]# tail -1 /etc/rc.local
/application/sersync/bin/sersync -d
配置:systemctl start sersync啟動方案
?https://blog.51cto.com/oldboy/2155931
?[root@nfs01 /data]# cat /etc/rc.d/init.d/sersync
[root@nfs01 /data]# systemctl status sersync.service
● sersync.service - sersyncd service
Loaded: loaded (/usr/lib/systemd/system/sersync.service; enabled; vendor preset: disabled)
?Active: inactive (dead)
[root@nfs01 /data]# systemctl stop sersync
?[root@nfs01 /data]# ps -ef|grep sersync|grep -v grep
?[root@nfs01 /data]# systemctl start sersync