Day36
作者:孫鵬鵬
歸檔:課后筆記
時間:2019/4/19
快捷鍵:
Ctrl + 1??? 標(biāo)題1
Ctrl + 2??? 標(biāo)題2
Ctrl + 3??? 標(biāo)題3
Ctrl + 4??? 標(biāo)題4
Ctrl + 5??? 程序代碼
Ctrl + 6??? 正文
Ctrl + 7??? 實例1-1
格式說明:
藍色字體:注釋
黃色背景:重要
綠色背景:注意
老男孩教育教學(xué)核心思想6重:重目標(biāo)、重思路、重方法、重實踐、重習(xí)慣、重總結(jié)
學(xué)無止境,老男孩教育成就你人生的起點!
聯(lián)系方式:
網(wǎng)站運維QQ交流群:
Linux?385168604架構(gòu)師390642196
Python 29215534大數(shù)據(jù)421358633
官方網(wǎng)站:
目? 錄
第一章:
















#實時復(fù)制實踐:
#前提:backup rsync服務(wù)端部署好。
##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/
sendingincremental file list
sent164 bytes? received 25 bytes? 126.00 bytes/sec
totalsize is 0? speedup is 0.00
##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
yuminstall epel-release -y
yuminstall 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ù)復(fù)制
監(jiān)控哪些事件?
增 改 刪 需要監(jiān)控
[root@nfs01~]# inotifywait -mrq --format '%w%f' -e close_write,delete /data
/data/a.txt
/data/a.txt
/data/a.txt
##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 &
[2]9199
[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服務(wù)(NFS)
wgethttps://github.com/wsgzao/sersync/blob/master/sersync2.5.4_64bit_binary_stable_final.tar.gz
sersync_oldboy_64bit_20160928.tar.gz
[root@nfs01/server/tools]# mkdir /application -p
[root@nfs01/server/tools]# mv application/sersync /application/
[root@nfs01/server/tools]# tree /application/
/application/
└──sersync
??? ├──bin
??? │?? └──sersync
??? ├──conf
??? │?? ├──confxml.xml
??? │?? └──confxml.xml.ori
??? ├──logs
??? │?? └──rsync_fail_log.sh
??? └──readme.txt
4directories, 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)啟動服務(wù)
[root@nfs01/application/sersync/conf]# ../bin/sersync -h
setthe system param
execute:echo 50000000 >/proc/sys/fs/inotify/max_user_watches
execute:echo 327679 >/proc/sys/fs/inotify/max_queued_events
parsethe command param
_______________________________________________________
參數(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
最終
/application/sersync/bin/sersync-d
pkillsersync
二進制程序,不是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
#!/bin/bash
#chkconfig: 2345 21 81
#description: rsync service start and stop scripts
#Author: oldboy
#Organization: www.oldboyedu.com
chmod+x /etc/rc.d/init.d/sersync
[root@nfs01/data]# cat /usr/lib/systemd/system/sersync.service
[Unit]
Description=sersyncdservice
After=network.target
[Service]
Type=forking??????????
ExecStart=/etc/rc.d/init.d/sersyncstart??
ExecReload=/etc/rc.d/init.d/sersyncrestart
ExecStop=/etc/rc.d/init.d/sersyncstop????
PrivateTmp=true
[Install]
WantedBy=multi-user.target
chmod+x /usr/lib/systemd/system/sersync.service
[root@nfs01/data]# systemctl enable sersync.service
Createdsymlink from /etc/systemd/system/multi-user.target.wants/sersync.service to/usr/lib/systemd/system/sersync.service.
[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