主服務(wù)器:192.168.5.13_ubuntu
從服務(wù)器:192.168.5.11_centos
================== 1> 在兩臺(tái)主機(jī)上分別安裝rsync===================
ubuntu安裝如下:
編譯安裝:下載這個(gè)免費(fèi)的軟件
rsync.samba.org/或者samba.anu.edu.au/rsync
去官方網(wǎng)站下載最新的版本
解壓縮進(jìn)目錄后執(zhí)行 #./configure && make && make install
正常情況很快就安裝完畢,rsync 服務(wù)器架設(shè)比較簡(jiǎn)單,可我們安裝好rsync后,并沒(méi)有發(fā)現(xiàn)配置文件以及rsync服務(wù)器啟動(dòng)程序,因?yàn)槊總€(gè)管理員可能對(duì)rsync 用途不一樣,所以一般的發(fā)行版只是安裝好軟件就完事了,讓管理員來(lái)根據(jù)自己的用途和方向來(lái)自己架設(shè)rsync服務(wù)器。
=====================2> rsync服務(wù)器的配置 =====================
在/etc目錄下創(chuàng)建一個(gè)rsyncd的目錄,我們用來(lái)存放rsyncd.conf,rsyncd.secrets和rsyncd.motd文件;
rsyncd.conf 是rsync服務(wù)器的主配置文件;
rsyncd.secrets是用戶(hù)密碼文件;
rsyncd.motd配置一些服務(wù)歡迎及說(shuō)明信息;
a>創(chuàng)建修改 rsyncd.conf
rsyncd.conf 是rsync服務(wù)器主要配置文件,我們來(lái)個(gè)簡(jiǎn)單的示例;比如我們要備份服務(wù)器上的 /tmp/目錄 ,在/tmp/ 中,我想把test目錄和test.php文件排除在外;
zhouda# cd /etczhouda# mkdir rsyncdzhouda# cd rsyncdzhouda# vi rsyncd.conf
寫(xiě)入(保證文件中每行沒(méi)有空格):
pid file = /var/run/rsyncd.pidport = 873address = 192.168.5.13#uid = nobody#gid = nobodyuid = rootgid = rootuse chroot = yesread only = yes#limit access to PRivate LANs#設(shè)置可訪問(wèn)的主機(jī):如果多個(gè)ip則用空格隔開(kāi):192.168.5.3 192.168.5.4 192.168.5.5或者設(shè)置區(qū)間 192.168.5.3/5hosts allow=192.168.5.11 192.168.5.14hosts deny=*max connections = 5motd file = /etc/rsyncd/rsyncd.motd#This will give you a separate log filelog file = /var/log/rsync.log#This will log every file transferred - up to 85,000+ per user, per synctransfer logging = yeslog format = %t %a %m %f %bsyslog facility = local3timeout = 300#方括號(hào)中設(shè)置模塊名[linuxsirhome]#要同步服務(wù)器的目錄路徑path = /www/list=yesignore errors#auth users是必須在服務(wù)器上存在的真實(shí)的系統(tǒng)用戶(hù),如果你想用多個(gè)用戶(hù),那就以,號(hào)隔開(kāi);比如 auth users = roger,linuxsirauth users = roger#從服務(wù)器訪問(wèn)需要的密碼文件secrets file = /etc/rsyncd/rsyncd.secretscomment = linuxsir tmp#設(shè)置不同步的目錄或文件用空格隔開(kāi)exclude = test/ test.php
b> 創(chuàng)建修改密碼文件rsyncd.secrets
寫(xiě)入:
退出保存。
修改權(quán)限密碼文件的權(quán)限:
c> 創(chuàng)建修改rsync.motd文件
rsyncd.motd是定義rysnc 服務(wù)器信息的,也就是用戶(hù)登錄信息。比如讓用戶(hù)知道這個(gè)服務(wù)器是誰(shuí)提供的等;類(lèi)似ftp服務(wù)器登錄時(shí),我們所看到的 linuxsir.org ftp……。 當(dāng)然這在全局定義變量時(shí),并不是必須的,你可以用#號(hào)注掉,或刪除;如:
寫(xiě)入:
===================== 3> 啟動(dòng)rsync服務(wù)=======================
============ 4> 主服務(wù)器已經(jīng)配置好rsync!下面我們?cè)O(shè)置從服務(wù)器============
從服務(wù)器只需安裝rsync即可,如果沒(méi)有安裝可以yum install rsync 然后運(yùn)行:
#因?yàn)闆](méi)有指定密碼文件,所以需要手動(dòng)輸入主服務(wù)器上的設(shè)定的密碼
輸入密碼:roger
roger是指定密碼文件中的用戶(hù)名
::linuxsirhome 表示在rsyncd.conf中設(shè)置的模塊名
/tmp是從服務(wù)器目錄(192.168.5.11/tmp)
到此為止,rsync的兩臺(tái)主機(jī)之間(192.168.5.11/tmp和192.168.5.14/tmp)的rsync同步已經(jīng)配置完畢,只要在從服務(wù)器執(zhí)行上述命令輸入密碼即可同步。
注:下面這個(gè)命令行中-vzrtopg里的v是verbose,
z是壓縮傳輸,
r是recursive,
topg都是保持文件原有屬性如屬主、時(shí)間的參數(shù)。
u是只同步已經(jīng)更新的文件,避免沒(méi)有更新的文件被重復(fù)更新一次,不過(guò)要注意兩者機(jī)器的時(shí)鐘的同步。
--progress是指顯示出詳細(xì)的進(jìn)度情況,
--delete是指如果服務(wù)器端刪除了這一文件,那么客戶(hù)端也相應(yīng)把文件刪除,保持真正的一致。后面的roger@192.168.5.13::linuxsirhome中,之后的linuxsirhome是模塊名,也就是在/etc/rsyncd /rsyncd.conf中自定義的名稱(chēng),roger是指定模塊中指定的可以同步的用戶(hù)名。最后的/root/www是備份到本地的目錄名。在這里面,還可以用-e ssh的參數(shù)建立起加密的連接。
可以用–passWord-file=/root/rsync.pass來(lái)指定密碼文件,這樣就可以在腳本中使用而無(wú)需交互式地輸入驗(yàn)證密碼了,這里需要注意的是這份密碼文件權(quán)限屬性要設(shè)得只有屬主可讀。
zhouda#/usr/bin/rsync-vzrtopg --progress --delete --password-file=/root/rsync.pass roger@192.168.5.13::linuxsirhome/root/www
==================5> 設(shè)置主從服務(wù)器定定時(shí)自動(dòng)同步==================
自動(dòng)同步要用到從服務(wù)器上的crond服務(wù),關(guān)于crond的介紹請(qǐng)參考:linux定時(shí)執(zhí)行系統(tǒng)
我們?cè)趶姆?wù)器即192.168.5.11的/root/www目錄下創(chuàng)建兩個(gè)rsync.sh文件和rsync.pass文件。
rsync.sh文件是crond要執(zhí)行的腳本文件。
rsync.pass是保存主服務(wù)器密碼的文件。
a>創(chuàng)建rsync.sh文件
寫(xiě)入:
退出保存。
b> 創(chuàng)建rsync.pass密碼文件
寫(xiě)入:
退出保存并修改權(quán)限:
c> 配置crond服務(wù)
添加一行:
*/1 * * * * /root/www/rsync.sh //即每分鐘同步一次
退出保存。
設(shè)置完畢,首先自己也手工執(zhí)行下./rsync.sh,看看是否能正常運(yùn)行.
以后每隔一分鐘即會(huì)把主服務(wù)器/www目錄更新至從服務(wù)器/root/www.
具體參數(shù):
新聞熱點(diǎn)
疑難解答
圖片精選