1. 程式人生 > >Rsync安裝與配置

Rsync安裝與配置

1、Rsync規劃

Rsync配置前首先規劃好,同步的方向性。方向性分為推和拉的方式,規劃推、拉是為了可以在防火牆設定埠是誰主動連線。例如:一般為從APP伺服器生成的靜態頁面使用推的方式將檔案推送到Apache伺服器上。下面就是使用推的方式進行配置。

 

2、Rsync伺服器配置

2.1、Rsync檢查

Rsync3.0.0 pre6 安全漏洞,需要使用該版本以上的Rsync。

# [[email protected] ~]rsync  --version

rsync version 3.0.9  protocol version 30…….

2.2、Rsync伺服器配置檔案

rsync的主要有以下三個配置檔案rsyncd.conf(主配置檔案)、rsyncd.secrets(密碼檔案)、rsyncd.motd(rysnc伺服器資訊)

  伺服器配置檔案(/etc/rsyncd/rsyncd.conf),該檔案預設不存在,請建立它。

2.3、rsyncd.conf配置

例子:可參見目錄:伺服器配置/etc/rsyncd/server/rsyncd.conf

rsyncd.conf的引數寫在上邊就是全域性引數和寫在模組裡的就是模組引數

#vi /etc/rsyncd/server/rsyncd.conf

全域性引數

uid = root                                  //執行RSYNC守護程序的使用者

gid = root                                  //執行RSYNC守護程序的組

use chroot = yes//使用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

2.4、rsyncd.secrets配置

例子:可參見目錄:伺服器配置/etc/rsyncd/server/rsyncd.secrets

配置rsync密碼(在上邊的配置檔案中已經寫好路徑) rsync.pas(名字隨便寫,只要和上邊配置檔案裡的一致即可),格式(一行一個使用者)

賬號:密碼

rsync:password


需要將rsyncd.secrets更改許可權。將rsyncd.secrets這個密碼檔案的檔案屬性設為root擁有, 且許可權要設為600, 否則無法備份成功!

執行命令:chmod 600 /etc/rsyncd/server/rsyncd.secrets

3、Rsync客戶端

3.1、客戶端配置介紹

客戶端只需要配置一個密碼檔案。配置rsync密碼(在上邊的配置檔案中已經寫好路徑) /etc/rsyncd/client/rsyncd_190.(格式密碼)

password

修改許可權密碼檔案許可權為指定使用者,並且檔案許可權為600


#cd /etc

#chownroot.rootrsync.pas

#chmod 600 rsync.pas

 

client連線SERVER命令,從SERVER端取檔案

/usr/bin/rsync -vzrtopg --progress [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 SERVER(172.20.0.6)的backup模組的設定的備份目錄下。

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

 

3.2、客戶端自動執行(詳情請參考:http://blog.csdn.net/zhangkezhi_471885889/article/details/15341337)

1)vi/usr/local/rsync/time.sh     //製作指令碼檔案

把下邊的內容複製進去

#!/bin/bash

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

2) crontab -e

加入./5 * * * * /usr/local/rsync/time.sh        //每5分執行一次time.sh指令碼檔案

4、伺服器配置步驟樣例

Web伺服器配置Rsync服務

1.根據要求配置好rsyncd.conf及rsyncd.secrets檔案。

2.上傳rsyncd.conf及rsyncd.secrets檔案到配置目錄中,例如/etc/rsyncd/server/

3.更改rsyncd.secrets檔案許可權,執行:

chmod 600 /etc/rsyncd/server/rsyncd.secrets

4.啟動Rsync伺服器端服務,執行:

rsync --daemon --config=/etc/rsyncd/server/rsyncd.conf

5.檢查rsync是否在執行。

ps -ef | greprsync

6.檢查埠873是否監聽

netstat -a | greprsync

7.檢查埠873是否能夠接收服務,登入到另外一個伺服器或者機器執行

telnet 192.168.1.190  873

客戶端配置步驟

1.根據要求配置好rsync_190.sh及rsyncd_190.secrets檔案。

2.上傳rsync_190.sh及rsyncd_190.secrets檔案到配置目錄中,例如/etc/rsyncd/client/

3.更改rsyncd_190.secrets檔案許可權,執行:

chmod 600 /etc/rsyncd/client/rsyncd_190.secrets

4.執行rsync_190.sh測試是否能夠正常傳送檔案。

5.配置自動執行指令碼(執行crontab -e命令,編輯加入:

*/5 * * * * /etc/rsyncd/client/rsync_190.sh表示5分鐘同步一次,檢視自動執行日誌命令 tail -f /var/log/cron)