Linux系統中,通過Rsync+sersync能夠實現系統數據的實時同步,比Rsync+Inotify-tools架構更加實用些,下面小編就給大家詳細介紹下Linux安裝配置Rsync+sersync的方法。
一、為什麼要用Rsync+sersync架構?
1、sersync是基於Inotify開發的,類似於Inotify-tools的工具
2、sersync可以記錄下被監聽目錄中發生變化的(包括增加、刪除、修改)具體某一個文件或某一個目錄的名字,然後使用rsync同步的時候,只同步發生變化的這個文件或者這個目錄。
二、Rsync+Inotify-tools與Rsync+sersync這兩種架構有什麼區別?
1、Rsync+Inotify-tools
(1):Inotify-tools只能記錄下被監聽的目錄發生了變化(包括增加、刪除、修改),並沒有把具體是哪個文件或者哪個目錄發生了變化記錄下來;
(2):rsync在同步的時候,並不知道具體是哪個文件或者哪個目錄發生了變化,每次都是對整個目錄進行同步,當數據量很大時,整個目錄同步非常耗時(rsync要對整個目錄遍歷查找對比文件),因此,效率很低。
2、Rsync+sersync
(1):sersync可以記錄下被監聽目錄中發生變化的(包括增加、刪除、修改)具體某一個文件或某一個目錄的名字;
(2):rsync在同步的時候,只同步發生變化的這個文件或者這個目錄(每次發生變化的數據相對整個同步目錄數據來說是很小的,rsync在遍歷查找比對文件時,速度很快),因此,效率很高。
系統之家小編提醒:當同步的目錄數據量不大時,建議使用Rsync+Inotify-tools;當數據量很大(幾百G甚至1T以上)、文件很多時,建議使用Rsync+sersync。
說明:
操作系統:CentOS 5.X
源服務器:192.168.21.129
目標服務器:192.168.21.127,192.168.21.128
目的:把源服務器上/home/www.jb51.net目錄實時同步到目標服務器的/home/www.jb51.net下
具體操作:
第一部分:分別在兩台目標服務器192.168.21.127,192.168.21.128上操作
一、分別在兩台在目標服務器安裝Rsync服務端
1、關閉SELINUX
vi /etc/selinux/config #編輯防火牆配置文件
代碼如下:
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq! #保存,退出
setenforce 0 #立即生效
2、開啟防火牆tcp 873端口(Rsync默認端口)
vi /etc/sysconfig/iptables #編輯防火牆配置文件
代碼如下:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
:wq! #保存退出
/etc/init.d/iptables restart #最後重啟防火牆使配置生效
3、安裝Rsync服務端軟件
yum install rsync xinetd #安裝
vi /etc/xinetd.d/rsync #編輯配置文件,設置開機啟動rsync
代碼如下:
disable = no #修改為no
:wq! #保存退出
/etc/init.d/xinetd start #啟動(CentOS中是以xinetd來管理Rsync服務的)
上一頁123456下一頁共6頁
4、創建rsyncd.conf配置文件
vi /etc/rsyncd.conf #創建配置文件,添加以下代碼
代碼如下:
log file = /var/log/rsyncd.log #日志文件位置,啟動rsync後自動產生這個文件,無需提前創建
pidfile = /var/run/rsyncd.pid #pid文件的存放位置
lock file = /var/run/rsync.lock #支持max connections參數的鎖文件
secrets file = /etc/rsync.pass #用戶認證配置文件,裡面保存用戶名稱和密碼,後面會創建這個文件
motd file = /etc/rsyncd.Motd #rsync啟動時歡迎信息頁面文件位置(文件內容自定義)
[home_www.jb51.net] #自定義名稱
path = /home/www.jb51.net/ #rsync服務端數據目錄路徑
comment = home_www.jb51.net #模塊名稱與[home_www.jb51.net]自定義名稱相同
uid = root #設置rsync運行權限為root
gid = root #設置rsync運行權限為root
port=873 #默認端口
use chroot = no #默認為true,修改為no,增加對目錄文件軟連接的備份
read only = no #設置rsync服務端文件為讀寫權限
list = no #不顯示rsync服務端資源列表
max connections = 200 #最大連接數
timeout = 600 #設置超時時間
auth users = home_www.jb51.net_user #執行數據同步的用戶名,可以設置多個,用英文狀態下逗號隔開
hosts allow = 192.168.21.129 #允許進行數據同步的客戶端IP地址,可以設置多個,用英文狀態下逗號隔開
hosts deny = 192.168.21.254 #禁止數據同步的客戶端IP地址,可以設置多個,用英文狀態下逗號隔開
:wq! #保存,退出
5、創建用戶認證文件
vi /etc/rsync.pass #配置文件,添加以下內容
代碼如下:
home_www.jb51.net_user:123456 #格式,用戶名:密碼,可以設置多個,每行一個用戶名:密碼
:wq! #保存退出
6、設置文件權限
代碼如下:
chmod 600 /etc/rsyncd.conf #設置文件所有者讀取、寫入權限《/p》 《p》chmod 600 /etc/rsync.pass #設置文件所有者讀取、寫入權限
7、啟動rsync
代碼如下:
/etc/init.d/xinetd start #啟動
service xinetd stop #停止
service xinetd restart #重新啟動
第二部分:在源服務器192.168.21.129上操作
一、安裝Rsync客戶端
1、關閉SELINUX
vi /etc/selinux/config #編輯防火牆配置文件
代碼如下:
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq! 保存退出
setenforce 0 立即生效
2、開啟防火牆tcp 873端口(Rsync默認端口,做為客戶端的Rsync可以不用開啟873端口)
vi /etc/sysconfig/iptables #編輯防火牆配置文件
代碼如下:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
:wq! 保存退出
/etc/init.d/iptables restart #最後重啟防火牆使配置生效
3、安裝Rsync客戶端端軟件
代碼如下:
whereis rsync #查看系統是否已安裝rsync,出現下面的提示,說明已經安裝
rsync: /usr/bin/rsync /usr/share/man/man1/rsync.1.gz
yum install xinetd #只安裝xinetd即可,CentOS中是以xinetd來管理rsync服務的
yum install rsync xinetd #如果默認沒有rsync,運行此命令進行安裝rsync和xinetd
vi /etc/xinetd.d/rsync #編輯配置文件,設置開機啟動rsync
disable = no #修改為no
/etc/init.d/xinetd start #啟動(CentOS中是以xinetd來管理rsync服務的)
上一頁12 3456下一頁共6頁
4、創建認證密碼文件
vi /etc/passwd.txt #編輯文件,添加以下內容
代碼如下:
123456 #密碼
:wq! 保存退出
chmod 600 /etc/passwd.txt #設置文件權限,只設置文件所有者具有讀取、寫入權限即可
5、測試源服務器192.168.21.129到兩台目標服務器192.168.21.127,192.168.21.128之間的數據同步
代碼如下:
mkdir /home/www.jb51.net/ceshi #在源服務器上創建測試文件夾,然後在源服務器運行下面2行命令
rsync -avH --port=873 --progress --delete /home/www.jb51.net/ 《a href=“mailto:[email protected]::home_www.jb51.net”》[email protected]::home_www.jb51.net《/a》 --password-file=/etc/passwd.txt
rsync -avH --port=873 --progress --delete /home/www.jb51.net/ 《a href=“mailto:[email protected]::home_www.jb51.net”》home_www.jb51