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)