ersync 實時同步

ersync 實時同步

實時同步概述

什麼是實時同步vim

實時同步是一種只要當前目錄發生變化則會觸發一個事件,事件觸發後會將變化的目錄同步至遠程服務器bash

爲何要實時同步服務器

保證數據的連續性, 減小人力維護成本,解決nfs單點故障app

結合sersync+rsync實時同步實戰

環境準備

主機名 角色 外網IP 內網IP
nfs rsync的客戶端 10.0.0.31 172.16.1.31
backup rsync的服務端 10.0.0.41 172.16.1.41

部署sersync(客戶端)

安裝sersync的依賴包code

[root@nfs ~]$ yum install rsync inotify-tools -y

建立存放源碼包的目錄xml

[root@nfs ~]$ mkdir /source_code

獲取sersync的安裝包進程

[root@nfs ~]$ cd /source_code/
[root@nfs /source_code]$  wget http://test.driverzeng.com/other/sersync2.5.4_64bit_binary_stable_final.tar.gz

綠色軟件解壓即用事件

[root@nfs /source_code]$ tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz 
[root@nfs /source_code]$ ll
total 712
drwxr-xr-x 2 root root     41 Oct 26  2011 GNU-Linux-x86
-rw-r--r-- 1 root root 727290 May  9  2020 sersync2.5.4_64bit_binary_stable_final.tar.gz

建立服務安裝目錄ip

[root@nfs ~]$ mkdir /app

將軟件安裝在app目錄下rem

[root@nfs ~]$ mv /source_code/GNU-Linux-x86/ /app/

查看程序相關文件

[root@nfs ~]$ cd /app/
[root@nfs /app]$ 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

修改配置文件

[root@nfs /app/GNU-Linux-x86]$ vim confxml.xml 

#修改inotify相關的配置 
    <inotify>
        <delete start="true"/>					-----監控刪除
        <createFolder start="true"/>			-----監控建立目錄
        <createFile start="true"/>				-----監控建立文件
        <closeWrite start="true"/>				-----監控寫入
        <moveFrom start="true"/>				-----監控從哪移動過來
        <moveTo start="true"/>					-----監控移動到哪裏去
        <attrib start="true"/>					-----監控修改文件屬性
        <modify start="true"/>					-----監控修改文件內容
    </inotify>
    

    <sersync>
        <localpath watch="/opt/data/nfs">					-----指定推送的/須要實時同步的目錄
            <remote ip="172.16.1.41" name="nfs_backup"/>	-----指定推送的服務端ip和模塊	
            <!--<remote ip="192.168.8.39" name="tongbu"/>-->
            <!--<remote ip="192.168.8.40" name="tongbu"/>-->
        </localpath>
        <rsync>
            <commonParams params="-az"/>			-----指定rysnc推送命令的選項
            <auth start="true" users="rsync_backup" passwordfile="/tmp/rsync.passwd"/>		-----指定rsync推送命令須要的虛擬用戶以及密碼文件

#用sersync2啓動文件啓動服務,缺點是隻能利用kill -9終止進程
[root@nfs ~]$ /app/sersync/sersync2 -rdo /app/sersync/confxml.xml

使用systemd管理沒有啓動腳本的服務

[root@nfs ~]$ vim /usr/lib/systemd/system/sersyncd.service 
[Unit] 
#描述 
Description=This is sersync start service 
#描述 
After=xxx

[Service] 
#後臺運行 
Type=forking 
ExecStart=/app/sersync/sersync2 -rdo /app/sersync/confxml.xml			----服務啓動命令
ExecStop=kill -3 `ps -ef|grep [s]ersync|awk '{print $2}'` 				----服務中止命令
ExecReload=kill -1 `ps -ef|grep [s]ersync|awk '{print $2}'` 			----服務重啓命令
PrivateTmp=true
#ps -ef|grep [s]ersync|awk '{print $2}'截取的是sersyncd服務的pid
[Install] 
WantedBy=multi-user.target

[root@nfs ~]$ systemctl start sersyncd
[root@nfs ~]$ ps -ef|grep sersync
root       8413      1  0 21:39 ?        00:00:00 /app/sersync/sersync2 -rdo /app/sersync/confxml.xml
root       8448   6998  0 21:40 pts/0    00:00:00 grep --color=auto sersync

源碼包的安裝步驟

源碼包的安裝步驟
解壓
生成
編譯
安裝
相關文章
相關標籤/搜索