實例講解如何在linux中配置Rsync同步鏡像服務(wù)器 |
發(fā)布時間: 2012/8/10 15:13:18 |
主服務(wù)器:192.168.0.220 (CentOS 4.4)
從服務(wù)器:192.168.0.248 (CentOS 5) ============================== 1> 在兩臺主機上分別安裝rsync ====================== 默認一般都是安裝了的 1 2[root@office ~]# rpm -qa|grep rsync rsync-2.6.3-1 如果沒有安裝,使用yum install rsync來進行安裝即可; 正常情況很快就安裝完畢,rsync 服務(wù)器架設(shè)比較簡單,可我們安裝好rsync后,并沒有發(fā)現(xiàn)配置文件以及rsync服務(wù)器啟動程序,因為每個管理員可能對rsync 用途不一樣,所以一般的發(fā)行版只是安裝好軟件就完事了,讓管理員來根據(jù)自己的用途和方向來自己架設(shè)rsync服務(wù)器。 ============================== 2> rsync服務(wù)器的配置 ============================== 在/etc目錄下創(chuàng)建一個rsyncd的目錄,我們用來存放rsyncd.conf,rsyncd.secrets和rsyncd.motd文件; rsyncd.conf 是rsync服務(wù)器的主配置文件; rsyncd.secrets是用戶密碼文件; rsyncd.motd配置一些服務(wù)歡迎及說明信息; a>創(chuàng)建修改 rsyncd.conf rsyncd.conf 是rsync服務(wù)器主要配置文件,我們來個簡單的示例;比如我們要備份服務(wù)器上的 /tmp/目錄 ,在/tmp/ 中,我想把test目錄和test.php文件排除在外; 1 2 3 4[root@office ~]# cd /etc [root@office ~]# mkdir rsyncd [root@office ~]# cd rsyncd [root@office ~]# vi rsyncd.conf 寫入(保證文件中每行沒有空格): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41pid file = /var/run/rsyncd.pid port = 873 address = 192.168.0.220 #uid = nobody #gid = nobody uid = root gid = root use chroot = yes read only = yes #limit access to private LANs #設(shè)置可訪問的主機:如果多個ip則用空格隔開:192.168.0.3 192.168.0.4 192.168.0.5或者設(shè)置區(qū)間 192.168.0.3/5 hosts allow=192.168.0.0/24 hosts deny=* max connections = 5 motd file = /etc/rsyncd/rsyncd.motd #This will give you a separate log file log file = /var/log/rsync.log #This will log every file transferred - up to 85,000+ per user, per sync transfer logging = yes log format = %t %a %m %f %b syslog facility = local3 timeout = 300 #方括號中設(shè)置模塊名 [linuxsirhome] #要同步服務(wù)器的目錄路徑 path = /backup list=yes ignore errors #auth users是必須在服務(wù)器上存在的真實的系統(tǒng)用戶,如果你想用多個用戶,那就以,號隔開;比如 auth users = ljzhou,rsyncsir auth users = ljzhou #從服務(wù)器訪問需要的密碼文件 secrets file = /etc/rsyncd/rsyncd.secrets comment = linuxsir tmp #設(shè)置不同步的目錄或文件用空格隔開 exclude = test/ test.php b> 創(chuàng)建修改密碼文件rsyncd.secrets 1 2[root@office ~]# cd /etc/rsyncd [root@office ~]# vi rsyncd.secrets 寫入: ljzhou:123456 退出保存。修改權(quán)限密碼文件的權(quán)限: 1[root@office ~]# chmod 600 rsyncd.secrets c> 創(chuàng)建修改rsync.motd文件 rsyncd.motd是定義rysnc 服務(wù)器信息的,也就是用戶登錄信息。比如讓用戶知道這個服務(wù)器是誰提供的等;類似ftp服務(wù)器登錄時,我們所看到的 linuxsir.org ftp ……。 當然這在全局定義變量時,并不是必須的,你可以用#號注掉,或刪除;如: 1[root@office ~]# vi rsyncd.motd 寫入: welcome! ============================== 3> 啟動rsync服務(wù)============================== 1[root@office ~]# /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf 1 ============================== 4> 主服務(wù)器已經(jīng)配置好rsync!下面我們設(shè)置從服務(wù)器============ 從服務(wù)器只需安裝rsync即可,然后運行: 1[root@devel ~]# /usr/bin/rsync -vzrtopg --progress ljzhou@192.168.0.220::linuxsirhome /tmp #因為沒有指定密碼文件,所以需要手動輸入主服務(wù)器上的設(shè)定的密碼輸入密碼:123456 ljzhou是指定密碼文件中的用戶名 ::linuxsirhome 表示在rsyncd.conf中設(shè)置的模塊名 /tmp是從服務(wù)器目錄(192.168.0.248/tmp) 到此為止,rsync的兩臺主機之間(192.168.0.220/tmp和192.168.0.248/tmp)的rsync同步已經(jīng)配置完畢,只要在從服務(wù)器執(zhí)行上述命令輸入密碼即可同步。 ============================== 5> 設(shè)置主從服務(wù)器定定時自動同步============================== 自動同步要用到從服務(wù)器上的cron服務(wù),關(guān)于cron的介紹請參考:linux定時執(zhí)行系統(tǒng)我們在從服務(wù)器即192.168.0.248的/tmp目錄下創(chuàng)建兩個rsync.sh文件和rsync.secrets文件。 rsync.sh文件是cron要執(zhí)行的腳本文件。 rsync.secrets是保存主服務(wù)器密碼的文件。 a> 創(chuàng)建rsync.sh文件 1 2[root@devel ~]# cd /tmp [root@devel ~]# vi rsync.sh 寫入: /usr/bin/rsync -vzrtopg -progress ljzhou@192.168.0.220::linuxsirhome /tmp -password-file=/tmp/rsync.secrets 退出保存。 b> 創(chuàng)建rsync.secrets密碼文件 1[root@devel ~]# vi rsync.secrets 寫入: 123456 退出保存并修改權(quán)限: 1[root@devel ~]# chmod 600 rsync.secrets c> 配置cron服務(wù) 1[root@devel ~]# crontab -e 添加一行: */1 * * * * /web/www/rsync.sh //即每分鐘同步一次退出保存,rsync.sh 這個文件放置于一個妥善保存的地方,不要泄露密碼。 設(shè)置完畢,以后每隔一分鐘即會把主服務(wù)器/tmp目錄更新至從服務(wù)器/tmp 本文出自:億恩科技【xuefeilisp.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |