只有有了新的需求,才可以激發相應的動力去做事情。
最新有個新的需求-- 需要在Linux同步資料夾
我繪製了其邏輯圖,如下:
因為來源資料庫伺服器裡面的內容是定時變化的,而我不可能每時每刻都將資料同步到各個伺服器,而只能定時的將資料同步到目標伺服器裡面。
下面說下配置rsync的步驟:
下面這個是我根據參考文章修改後的,並且添加了一些我自己的經驗總結。
說明:
作業系統:CentOS-6.7-x86_64-minimal.iso
原始伺服器:192.168.11.130, 該機安裝時設定的使用者名稱為 oldmtn2
目標伺服器:192.168.11.128, 該機安裝時設定的使用者名稱為 oldmtn
目的:把原始伺服器上/root/ceshi/目錄實下所有檔案同步到目標伺服器的/root/folder1/下
具體操作:
第一部分:在目標伺服器192.168.11.128上操作
一、分別在兩台在目標伺服器安裝Rsync服務端
1、關閉SELINUX
知識科普:SElinux是Linux安全加強工具。關閉用setenforce 0或者修改檔案vim /etc/sysconfig/selinux 把SELINUX=enforcing 改為 SELINUX=disabled.linux防火牆用chkconfig iptables on 開機啟動 service iptables start 開啟防火牆規則。
vi /etc/selinux/config #編輯防火牆設定檔
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq! #儲存,退出
setenforce 0 #立即生效, 其實就是關閉Linux的安全加強工具。
2、開啟防火牆tcp 873連接埠(Rsync預設連接埠)
如果不開啟873連接埠的話,原始伺服器同步檔案時將會出現"rsync: failed to connect to : No route to host"的錯誤。
vi /etc/sysconfig/iptables #編輯防火牆設定檔
-A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT #開啟873連接埠,這條規則要加在REJECT規則前
: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服務的)
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啟動時歡迎資訊頁面檔案位置(檔案內容自訂)
[test1] #自訂名稱, 後面原始伺服器傳送檔案的時候需要知道這個test1
path = /root/folder1/ #rsync服務端資料目錄路徑,從test1接受的檔案都存放到這個夾子裡面
comment = test1 #模組名稱與[test1]自訂名稱相同
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 = root #執行資料同步的使用者名稱,可以設定多個,用英文狀態下逗號隔開
hosts allow = 192.168.11.130 #允許進行資料同步的用戶端IP地址,可以設定多個,用英文狀態下逗號隔開
hosts deny = 192.168.21.254 #禁止資料同步的用戶端IP地址,可以設定多個,用英文狀態下逗號隔開
:wq! #儲存,退出
5、建立使用者認證檔案
vi /etc/rsync.pass #設定檔,添加以下內容
root:123456 #格式,使用者名稱:密碼,可以設定多個,每行一個使用者名稱:密碼,在這裡設定後,
:wq! #儲存,退出
6、設定檔案許可權
chmod 600 /etc/rsyncd.conf #設定檔案所有者讀取、寫入許可權
chmod 600 /etc/rsync.pass #設定檔案所有者讀取、寫入許可權
7、啟動rsync
/etc/init.d/xinetd start #啟動
service xinetd stop #停止
service xinetd restart #重新啟動
第二部分:在原始伺服器192.168.11.130上操作
一、安裝Rsync用戶端
1、關閉SELINUX
vi /etc/selinux/config #編輯防火牆設定檔
#SELINUX=enforcing #注釋掉