Day36實時復(fù)制應(yīng)用與實踐(課堂筆記)

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)站:

http://www.oldboyedu.com?

目? 錄

第一章:







實時復(fù)制應(yī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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容