RSYNC安裝使用詳解

RSYNC軟件介紹

rsync是類unix系統下的數據鏡像備份工具,從軟件的命名上就可以看出來了——remote sync。它的特性如下:
可以鏡像保存整個目錄樹和文件系統。
可以很容易做到保持原來文件的權限、時間、軟硬鏈接等等。
無須特殊權限即可安裝。
優化的流程,文件傳輸效率高。
可以使用rcpssh等方式來傳輸文件,當然也可以通過直接的socket連接。
支持匿名傳輸,以方便進行網站鏡象。
軟件下載
rysnc
的主頁地址爲:
http://rsync.samba.org/
目前最新版本爲2.4.6。可以選擇從原始網站下載:http://rsync.samba.org/ftp/rsync/。也可以選擇從本站下載:rsync 2.4.6


一、下載、安裝rsync

#tar zxvf rsync-2.6.9.tar.gz

#cd rsync-2.6.9

#./configure --prefix=/usr/local/rsync

#make

#make install

**** 正常安裝RH的時候是帶RSYNC的,運行文件放在/usr/bin/rsync



二、配置rsync server

 

1、啓動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

}

 隨系統啓動RSYNC

     #chkconfig rsync on

 

 

2、配置/etc/rsyncd.conf(需要手動生成)

rsyncd.conf的參數寫在上邊就是全局參數和寫在模塊裏的就是模塊參數

#vi /etc/rsyncd.conf

全局參數

uid = root                                  //運行RSYNC守護進程的用戶

gid = root                                  //運行RSYNC守護進程的組

use chroot = no                 //不使用chroot

max connections = 4             // 最大連接數爲4

strict modes =yes                //是否檢查口令文件的權限

port = 873                      //默認端口873

         

模塊參數

[backup]                   //這裏是認證的模塊名,在client端需要指定

path = /home/backup/        //需要做鏡像的目錄,不可缺少!

comment = This is a test       //這個模塊的註釋信息

ignore errors                //可以忽略一些無關的IO錯誤

read only = yes              // 只讀

list = no                   //不允許列文件

auth users = hening             //認證的用戶名,如果沒有這行則表明是匿名,此用戶與系統無關

secrets file = /etc/rsync.pas           //密碼和用戶名對比表,密碼文件自己生成

hosts allow = 192.168.1.1,10.10.10.10      //允許主機

hosts deny = 0.0.0.0/0                   //禁止主機

#transfer logging = yes

 

註釋:下面這些綠色文件是安裝完RSYNC服務後自動生成的文件

pid file = /var/run/rsyncd.pid      //pid文件的存放位置

lock file = /var/run/rsync.lock     //鎖文件的存放位置

log file = /var/log/rsyncd.log      //日誌記錄文件的存放位置

 

 

3、配置rsync密碼(在上邊的配置文件中已經寫好路徑) /etc/rsync.pas(名字隨便寫,只要和上邊配置文件裏的一致即可),格式(一行一個用戶)

賬號:密碼

  #vi /etc/rsync.pas

例子:

Hening:111111

權限:因爲rsync.pas存儲了rsync服務的用戶名和密碼,所以非常重要。要將rsync.pas設置爲root擁有且權限爲600

#cd /etc

#chown root.root rsync.pas

#chmod 600 rsync.pas

3.rsyncd.motd(配置歡迎信息,可有可無)

# vi /etc/rsyncd.motd

rsyncd.motd記錄了rsync服務的歡迎信息,你可以在其中輸入任何文本信息,如:

Welcome to use the rsync services!

 4、讓配置生效

#service xinetd restart

 

三、啓動rsync server

  RSYNC服務端啓動的兩種方法

1、啓動rsync服務端(獨立啓動)

#/usr/bin/rsync –daemon

 

2、啓動rsync服務端 (有xinetd超級進程啓動)

# /etc/rc.d/init.d/xinetd reload

 

四:加入rc.local

在各種操作系統中,rc文件存放位置不盡相同,可以修改使系統啓動時把rsync --daemon加載進去。

#vi /etc/rc.local

加入一行/usr/local/rsync –daemon

    

 

 

五.檢查rsync

#netstat -a | grep rsync

   tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN  

六.配置rsync client

1、設定密碼

#vi /etc/rsync.pas

111111

修改權限

#cd /etc

#chown root.root rsync.pas

#chmod 600 rsync.pas

 

2client連接SERVER

  SERVER端取文件

/usr/bin/rsync -vzrtopg --progress --delete [email protected]::backup /home/backup --password-file=/etc/rsync.pas

 

  SERVER端上傳文件

   /usr/bin/rsync -vzrtopg --progress --password-file=/root/rsync.pas  /home/backup [email protected]::backup

 

    這個命令將把本地機器/home/backup目錄下的所有文件(含子目錄)全部備份到RSYNC SERVER172.20.0.6)的backup模塊的設定的備份目錄下。

請注意如果路徑結束後面帶有"/",表示備份該目錄下的東東,但不會創建該目錄,如不帶"/"則創建該目錄。

RSYNC用法:

       rsync [OPTION]... [USER@]HOST::SRC  [DEST]              #RSYNC SERVER備份文件到本地機器

    rsync [OPTION]... SRC [SRC]...      [USER@]HOST::DEST   #從本地機器備份文件到RSYNC SERVER

 

3、自動運行

 1vi /usr/local/rsync/time.sh     //製作腳本文件

把下邊的內容複製進去

#!/bin/bash

/usr/bin/rsync -vzrtopg --progress --delete [email protected]::backup /home/backup --password-file=/etc/rsync.pass

2) crontab -e

加入55 * * * * /usr/local/rsync/time.sh        //55分運行一次time.sh腳本文件

 

 iptables

iptables -A INPUT -p tcp -s ! 11.22.33.44 --dport 873 -j DROP

如此只有 11.22.33.44 這個 client IP 能進入這臺 rsync server.

 

命令介紹:-rvlHpogDtS

rsync命令參數

-v表示verbose詳細顯示

-z表示壓縮

-r表示recursive遞歸

-t表示保持原文件創建時間

-o表示保持原文件屬主

-p表示保持原文件的參數

-g表示保持原文件的所屬組

-a存檔模式

-P表示代替-partial-progress兩者的選項功能

-e ssh建立起加密的連接。

--partial阻止rsync在傳輸中斷時刪除已拷貝的部分(如果在拷貝文件的過程中,傳輸被中斷,rsync的默認操作是撤消前操作,即從目標機上

刪除已拷貝的部分文件。)

--progress是指顯示出詳細的進度情況

--delete是指如果服務器端刪除了這一文件,那麼客戶端也相應把文件刪除,保持真正的一致。

--exclude不包含/ins目錄

--size-only 這個參數用在兩個文件夾中的差別僅是源文件夾中有一些新文件,不存在重名且被修改過的文件,因爲這種文件有可能會因爲內容被修改可大小一樣,而被略過。這個參數可以大大地提高同步的效率,因爲它不需要檢查同名文件的內容是否相同。

--password-file來指定密碼文件,內容包含server端指定認證用戶的密碼。

這樣就可以在腳本中使用而無需交互式地輸入驗證密碼了,這裏需要注意的是這份密碼文件權限屬性要設得只有屬主可讀。

[email protected]::backup

hening是指server端指定認證的用戶

192.168.0.217是指服務器端的ip

::backup 表示服務器端需要同步的模塊名稱;

/home/quack/backup/$DATE是同步後的文件指存放在本機的目錄地址。

/var/log/rsync.$DATE是同步後的日誌文件存放在本機的目錄地址。

 

注意

不放/  則目錄名也包含mirror,放 / 則只有目錄裏面的東西mirror




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章