一、 rsync軟件介紹: rsync是類unix系統(tǒng)下的數(shù)據(jù)鏡像備份工具,從軟件的命名上就可以看出來了——remote sync。它的特性如下: 1. 可以鏡像保存整個目錄樹和文件系統(tǒng)。 2. 可以很容易做到保持原來文件的權(quán)限、時間、軟硬鏈接等等。 3. 無須特殊權(quán)限即可安裝。 4. 優(yōu)化的流程,文件傳輸效率高。 5. 可以使用rcp、ssh等方式來傳輸文件,當(dāng)然也可以通過直接的socket連接。 6. 支持匿名傳輸,以方便進行網(wǎng)站鏡象。 二、軟件下載 rysnc的主頁地址為:http://rsync./ 如:wget http://rsync./ftp/rsync/src/rsync-3.0.7.tar.gz 三、安裝rsync server #tar zxvf rsync-3.0.7.tar.gz #cd rsync-3.0.7 #./configure –prefix=/usr/local/rsync #make #make install 四、配置rsync server 1、設(shè)置隨系統(tǒng)啟動RSYNC #vi /etc/xinetd.d/rsync 把原來的YES改成NO service rsync { disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = –daemon log_on_failure += USERID } 隨系統(tǒng)啟動RSYNC #chkconfig rsync on 2、配置/etc/rsyncd.conf(需要手動生成) rsyncd.conf的參數(shù)寫在上邊就是全局參數(shù)和寫在模塊里的就是模塊參數(shù) #vi /etc/rsyncd.conf 全局參數(shù) uid = nobady //運行RSYNC守護進程的用戶 gid = nobady //運行RSYNC守護進程的組 use chroot = no //不使用chroot max connections = 4 // 最大連接數(shù)為4 strict modes =yes //是否檢查口令文件的權(quán)限 port = 873 //默認(rèn)端口873 模塊參數(shù) [backup] //這里是認(rèn)證的模塊名,在client端需要指定 path = /home/backup/ //需要做鏡像的目錄,不可缺少! comment = This is a test //這個模塊的注釋信息 read only = yes // 只讀 list = no //不允許列文件 auth users =test //認(rèn)證的用戶名,如果沒有這行則表明是匿名,此用戶與系統(tǒng)無關(guān)secrets file = /etc/rsync.pas //密碼和用戶名對比表,密碼文件自己生成 hosts allow = 192.168.7.167,192.168.7.166 //允許的客戶端主機 hosts deny = 0.0.0.0/0 //禁止主機 注釋:下面這些綠色文件是安裝完RSYNC服務(wù)后自動生成的文件 lock file = /var/run/rsync.lock //鎖文件的存放位置 log file = /var/log/rsyncd.log //日志記錄文件的存放位置 3、配置rsync密碼(在上邊的配置文件中已經(jīng)寫好路徑) /etc/rsync.pas(名字隨便寫,只要和上邊配置文件里的一致即可),格式(一行一個用戶) 賬號:密碼 #vi /etc/rsync.pas test:123456 權(quán)限:因為rsync.pas存儲了rsync服務(wù)的用戶名和密碼,所以非常重要。要將rsync.pas設(shè)置為root擁有, 且權(quán)限為600。 #cd /etc #chown root.root rsync.pas #chmod 600 rsync.pas 3.rsyncd.motd(配置歡迎信息,可有可無) # vi /etc/rsyncd.motd rsyncd.motd記錄了rsync服務(wù)的歡迎信息,你可以在其中輸入任何文本信息,如: Welcome to use the rsync services! 4、啟動rsync server 啟動rsync服務(wù)端(獨立啟動) #/usr/bin/rsync –daemon 5、加入rc.local 在各種操作系統(tǒng)中,rc文件存放位置不盡相同,可以修改使系統(tǒng)啟動時把rsync –daemon加載進去。 #vi /etc/rc.local 加入一行/usr/local/rsync –daemon 6、檢查rsync是否啟動 #netstat -a | grep rsync tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 五、配置rsync client 1、 安裝rsync,只需設(shè)定密碼文件即可即可,并運行客戶端進行同步命令即可. #vi /etc/rsync.pas 123456 保存退出 修改權(quán)限 #cd /etc #chown root.root rsync.pas #chmod 600 rsync.pas 2、client連接SERVER 從SERVER端取文件 /usr/bin/rsync -vrtopgP --progress --delete test@192.168.7.168::backup /home/backup --password-file=/etc/rsync.pas 向SERVER端上傳文件 /usr/bin/rsync -vzrtopg --progress --password-file=/root/rsync.pas test@192.168.7.168::backup /home/backup 這個命令將把本地機器/home/backup目錄下的所有文件(含子目錄)全部備份到RSYNC SERVER(172.20.0.6)的backup模塊的設(shè)定的備份目錄下。 請注意如果路徑結(jié)束后面帶有”/”,表示備份該目錄下的東東,但不會創(chuàng)建該目錄,如不帶”/”則創(chuàng)建該目錄。 RSYNC用法: rsync [OPTION]… [USER@]HOST::SRC [DEST] #從RSYNC SERVER備份文件到本地機器 rsync [OPTION]… SRC [SRC]… [USER@]HOST::DEST #從本地機器備份文件到RSYNC SERVER 3、自動運行 1)vi /usr/local/rsync/time.sh //制作腳本文件 把下邊的內(nèi)容復(fù)制進去 #!/bin/bash /usr/bin/rsync -vzrtopg --progress --delete test@192.168.7.168::backup /home/backup --password-file=/etc/rsync.pas 2) crontab -e 加入55 * * * * /usr/local/rsync/time.sh //每55分運行一次time.sh腳本文件 六、命令介紹:-rvlHpogDtS rsync命令參數(shù) -v表示verbose詳細顯示 -z表示壓縮 -r表示recursive遞歸 -t表示保持原文件創(chuàng)建時間 -o表示保持原文件屬主 -p表示保持原文件的參數(shù) -g表示保持原文件的所屬組 -a存檔模式 -P表示代替-partial和-progress兩者的選項功能 -e ssh建立起加密的連接。 --partial阻止rsync在傳輸中斷時刪除已拷貝的部分(如果在拷貝文件的過程中,傳輸被中斷,rsync的默認(rèn)操作是撤消前操作,即從目標(biāo)機上刪除已拷貝的部分文件。) --progress是指顯示出詳細的進度情況 --delete是指如果服務(wù)器端刪除了這一文件,那么客戶端也相應(yīng)把文件刪除,保持真正的一致。 --size-only 這個參數(shù)用在兩個文件夾中的差別僅是源文件夾中有一些新文件,不存在重名且被修改過的文件,因為這種文件有可能會因為內(nèi)容被修改可大小一樣,而被略過。這個參數(shù)可以大大地提高同步的效率,因為它不需要檢查同名文件的內(nèi)容是否相同。 --password-file來指定密碼文件,內(nèi)容包含server端指定認(rèn)證用戶的密碼。 這樣就可以在腳本中使用而無需交互式地輸入驗證密碼了,這里需要注意的是這份密碼文件權(quán)限屬性要設(shè)得只有屬主可讀。 test@192.168.7.168::backup test是指server端指定認(rèn)證的用戶 192.168.7.168是指服務(wù)器端的ip ::backup 表示服務(wù)器端需要同步的模塊名稱; /home /backup/$DATE是同步后的文件指存放在本機的目錄地址。 /var/log/rsync.$DATE是同步后的日志文件存放在本機的目錄地址。 本文出自 “理想博客園” 博客,請務(wù)必保留此出處http://maqianqian.blog.51cto.com/3455725/870832 |
|