linux實現實時同步服務


一、rsync服務搭建

  1.1、安裝rsync軟件

  命令:yum -y install rsync

1 yum -y install rsync

 

 

 1.2、修改rsync配置文件

 1  uid = rsync                      #備份目錄的屬主
 2  gid = rsync                      #備份目錄的屬組
 3  use chroot = no                    #root不轉變身份
 4  fake super = yes                   #偽超級管理員身份
 5  max connections = 200                #最大連接數200
 6  pid file = /var/run/rsyncd.pid           #pid文件位置
 7  lock file = /var/run/rsyncd.lock          #lock文件位置
 8  log file = /var/log/rsyncd.log           #rsync的日志文件
 9  #transfer logging = yes
10  timeout = 300                     #超時時間300秒
11  ignore errors                     #發生錯誤忽略繼續備份
12  read only = false                  #可讀可寫
13  list = false                     #不允許查看模塊信息列表
14  hosts allow = 192.168.0.9/24            #白名單
15  hosts deny = 0.0.0.0/32               #黑名單
16  auth users = rsync_backup              #連接rsync服務器的認證用戶
17  secrets file = /etc/rsync.password        #連接rsync服務器的密碼文件,用於免交互連接rsync服務器
18 #ignore nonreadable = yes
19  [backup]                       #模塊名稱,用於指定備份目錄位置。rsync備份時只需要指定模塊名稱即可,就可以將分、備份保存在備份目錄中
20         path = /backup                #指定備份目錄位置

 

 1.3、創建備份目錄和修改備份目錄的屬組屬主

1 [root@backupserver /]# mkdir -p /backup
2 [root@backupserver /]# chown -R rsync:rsync /backup/
3 [root@backupserver /]# ll |grep backup
4   drwxr-xr-x    2 rsync rsync    6 Jan 20 16:43 backup [root@backupserver /]# 
5 [root@backupserver /]# 
6 [root@backupserver /]# 
7 [root@backupserver /]# vim /etc/rsync.password
8   rsync_backup:admin1234

 

 1.4、啟動rsync服務和設置開機自啟動

1 [root@backupserver /]# systemctl start rsyncd
2 [root@backupserver /]# systemctl enable rsyncd
3 Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.
4 [root@backupserver /]# 
5 [root@backupserver /]# 

 

 1.5、客戶端驗證rsync服務是否可用

客戶端配置:

  1.5.1、安裝rsync軟件

  命令:yum -y install rsync

  1.5.2、創建密碼文件,避免交互  

1 [root@webserver etc]# vim rsync.password 
2 
3 admin1234

 

   1.5.3、測試rsync備份

命令:

1 [root@webserver etc]# rsync -avz /etc/passwd rsync_backup@192.168.0.11::backup --password-file=/etc/rsync.password    #備份命令
2 sending incremental file list
3 passwd                                                  #傳輸的文件名稱
4 
5 sent 616 bytes  received 43 bytes  1,318.00 bytes/sec
6 total size is 1,310  speedup is 1.99
7 [root@webserver etc]# 

命令詳解:
-avz:-a這是一個復合參數,這個具體需要自己去了解,-v:可視化,將備份傳輸的過程和結果顯示在終端,-z:傳輸時進行壓縮
/etc/passwd:要被備份的文件或者目錄
rsync_backup:rsync服務器中配置文件中的認證用戶
@:連接符,沒有特殊作用
192.168.0.11:rsync服務器的IP地址
::backup :rsync服務器中配置文件中的模塊名稱,主要用於指定備份目錄
--password-file:指定密碼認證文件,里面存儲了rsync連接的認證密碼。用於免交互連接rsync服務器

上圖表示rsync配置成功。

二、inotify服務搭建

2.1、下載安裝inotify-tools軟件

 

 

2.2、執行inotifywait命令監控需要備份的目錄

  其實這里只需要安裝inotify-tools軟件即可,因為后面的sersync服務會啟用inotify軟件。那這里就只把命令寫出來

命令:inotifywait -mrq /mnt -e create

1 inotifywait -mrq /mnt -e create
命令詳解:
-m:持續監控
-r:遞歸,包括監控子目錄的變化
-q:盡量在終端少輸出信息
-e:指定監控的動作,包括創建,刪除,修改等。

 

 三、sersync服務搭建

3.1、下載安裝sersync軟件

  下載地址:https://github.com/wsgzao/sersync/archive/master.zip

  命令:

[root@webserver src]# wget https://github.com/wsgzao/sersync/archive/master.zip
[root@webserver sersync]# cd /usr/local/src/
[root@webserver src]# unzip master.zip 
Archive:  master.zip
e6e4cda2583a73a5581d7015255838b5e68673c6
   creating: sersync-master/
  inflating: sersync-master/.gitattributes  
  inflating: sersync-master/.gitignore  
  inflating: sersync-master/README.md  
  inflating: sersync-master/inotify-tools-3.14.tar.gz  
 extracting: sersync-master/rsync-3.1.1.tar.gz  
  inflating: sersync-master/sersync2.5.4_64bit_binary_stable_final.tar.gz  
[root@webserver src]# cd sersync-master/
[root@webserver sersync-master]# tar -xvzf sersync2.5.4_64bit_binary_stable_final.tar.gz 
GNU-Linux-x86/
GNU-Linux-x86/sersync2
GNU-Linux-x86/confxml.xml
[root@webserver sersync-master]# mkdir/usr/local/sersync
[root@webserver sersync-master]# mv GNU-Linux-x86/* /usr/local/sersync/
[root@webserver sersync-master]# cd /usr/local/sersync/
[root@webserver sersync]# ls confxml.xml sersync2

3.2、修改配置文件/usr/local/sersync/confxml.xml

 

 3.3、啟動sersync服務

命令:

[root@webserver sersync]# /usr/local/sersync/sersync2 -rdo /usr/local/sersync/confxml.xml >/usr/local/sersync/rsync.log 2>&1 &     #啟動sersync服務
[1] 13151
[root@webserver sersync]# 

命令詳解:
-r:在監控前將需要備份的目錄里面的內容推送到備份目錄中,確保數據的統一性
-d:以守護進程運行
-o:指定sersync的配置文件
$:最后一個&試講sersync進程放到后台進行

3.4、查看和驗證實時同步

 

 

 上面兩個圖可以看出兩台服務器備份內容已經一致,接下來看是否能實時同步


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM