sftp

xuexiaogang發表於2015-08-10

Rsync的用途和部署目的

網站各個模組的釋出中,不管是靜態處理(Nginx)還是動態處理的伺服器(Tomcat),版本和版本路徑都是一樣的(/data/www/ROOT)。為了使得各種負載均衡的單元以及各個serviceapp模組的伺服器的版本保持同步,Rsync定時將批次伺服器版本同步。從而提升釋出效率,避免版本不同步的錯誤發生。同時也起到版本交叉備份的作用。

 

4Rsyncd(服務端&釋出端)的部署

注:以下操作全部以root賬號執行。

4.1Rsyncd的安裝

wget http://phzcudns001.phzc.com/src/rsync-3.1.1.tar.gz

tar zxvf rsync-3.1.1.tar.gz && cd rsync-3.1.1

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

make && make install

4.2Rsyncd的配置檔案

建立一個配置檔案(預設無):

vi /etc/rsyncd.conf

內容如下:

uid = root

gid = root

use chroot = no

max connections = 100

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /data/logs/rsync/rsyncd.log

address = 內網地址

port = 873

[www]

path = /data/www/

ignore errors

read only = true

list = false

hosts allow = 10.10.0.0/16

auth users = root

secrets file = /etc/rsync.pas

這裡推薦2個配置檔案的引數,叫includeexclude,分別可以指派要同步的檔案和目錄,以及不需同步的檔案和目錄,比如logs目錄,*.log檔案等

4.3Rsyncd的密碼檔案

配置密碼檔案(/etc/rsync.pas)也是需要手動建立

vi /etc/rsync.pas 內容如下:

root:123456789

需要將該檔案的許可權修改為600,屬主和屬組都是root

chown root:root /etc/rsync.pas

chmod 600 /etc/rsync.pas

4.3、建立rsyncd的日誌檔案,並用logrotate每日截斷

mkdir -p /data/logs/rsync

vi /etc/logrotate.d/rsync 加入以下指令碼:

/data/logs/rsync/rsyncd.log {

daily

rotate 365

missingok

sharedscripts

postrotate

    if [ -f /var/run/rsyncd.pid ]; then

        kill -USR1 `cat /var/run/rsyncd.pid`

    fi

endscript

}

4.4、啟動rsync服務並將其設定為開機啟動

/usr/local/rsync/bin/rsync --daemon

echo "/usr/local/rsync/bin/rsync --daemon" >> /etc/rc.local

(可以透過vi /etc/rc.local檢視是否有追進進去)

 

5Rsync(客戶端的同步)的部署

5.1、新增密碼配置檔案

在從伺服器上(rsync客戶端)用命令去同步檔案即可。

首先生成一個密碼配置檔案,需要和源資料伺服器(主伺服器)上面的密碼保持一致。

vim /etc/rsyncd.secrets(檔案不存在,vi手動生成)

只需要填寫密碼即可(例如上面的123456789

該檔案的許可權也需要保持為600

chmod 600 /etc/rsyncd.secrets

5.2、加入每日計劃任務

使用crontab來實現定時更新

crontab –e 加入以下:

0 2 * * * rsync -auzvP --progress --password-file=/etc/rsyncd.secrets root@內網地址::www /data/www/

這樣就把遠端伺服器下的/data/www/(在源資料伺服器的/etc/rsyncd.conf裡面配置的)的資料同步到了遠端伺服器下的/data/www/了。

注意:如果要實現真實同步,可以加--delete,但是這樣會引起本地確實需要的檔案在執行同步之後沒有了,所以建議一般情況不加delete引數,實現增量同步。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-1766813/,如需轉載,請註明出處,否則將追究法律責任。

相關文章