rsync的文件同步傳輸配置
一、實驗?zāi)康?/span>我們經(jīng)常有一些文件需要異地備份,這里我們使用rsync能簡單的進行異地備份,rsync不是同步傳輸?shù)?,所以更適合異地備份。
二、安裝rsyncrsync.* 可以使用rpm包安裝或者直接yum安裝。
三、配置服務(wù)端rsync默認(rèn)裝好后沒有安裝配置我們,所以我們需要自己創(chuàng)建配置文件。
配置文件 1: /etc/rsync.conf
uid = nobody #rsync操作文件的時候使用的用戶
gid = nobody #rsync操作文件的時候使用的用戶組
use chroot = no #是否啟用chroot
max connections = 4 #最大連接數(shù)
pid file = /var/run/rsync.pid #存儲pid的文件
lock file = /var/run/rsync.lock #鎖文件存儲地址
log file = /var/log/rsyncd.log #日志文件存放位置
motd file = /var/log/rsyncd.motd #登錄歡迎信息
hosts allow = 127.0.0.1 192.168.0.0/24 #運行連接的主機
auth users = BackupUser,Keny #用戶名(非系統(tǒng)用戶)
secrets file = /etc/rsyncd.secrets #對應(yīng)用戶名的密碼文件
[www] #共享名
path = /var/www #路徑(絕對路徑)
comment = apacheWWWfiles #描述
read only = true #是否只讀
list = false #是否能列表
在上述配置文件中有幾個配置文件需要我們手動去書寫:
配置文件 2: /var/log/rsyncd.motd
welcome using rsync service!
secrets這個文件里是 用戶名:密碼的格式,密碼是明文書寫的,所以我們需要把這個文件的權(quán)限設(shè)置為600,為了賬戶安全性。
書寫完后這些文件后,我們需要修改他們的權(quán)限為600.
設(shè)置文件權(quán)限
chmod 600 /etc/rsyncd.conf
chmod 600 /etc/rsyncd.motd
chmod 600 /etc/rsyncd.secrets
由于rsync服務(wù)是由xinetd來管理的一個服務(wù),所以我們還需要去修改相關(guān)的服務(wù)設(shè)置文件。
配置文件 4: /etc/xinetd.d/rsync
service rsync
{
disable = no #開啟該服務(wù)
flags = IPv4
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
經(jīng)過以上這些配置后,我們需要重啟xinetd,來啟用我們的rsync服務(wù)端。
service xinetd restart
四、客戶端使用服務(wù)我們之前服務(wù)端配置的密碼非常繁雜而難以記憶,而且手工輸入這些密碼也是非常痛苦的,這里我們可以設(shè)置一個文件來保存我們需要使用用戶對應(yīng)的密碼。
echo 132fds98z2sd234dfg > ~/rsyncClient.passwd
chmod 600 ~/rsyncChient.passwd
這里我們在家目錄下面創(chuàng)建了一個保存密碼的文件并且設(shè)置權(quán)限為600,如果權(quán)限不設(shè)置的話后面rsync的客戶端會警示且要求手工輸入密碼。
接下來我們使用客戶端工具來同步服務(wù)端的內(nèi)容,首先進入到我們需要同步文件的目錄。
接下來,運行rsync客戶端
rsync -Rav –delete –password-file=~/rsyncClient.passwd BackupUser@192.168.0.32::www /tmp/www
運行完以上這條命令后,就把服務(wù)端的www共享下的文件全部同步/tmp/www目錄下
-Rav 表示相對路徑,歸檔模式和顯示詳細(xì)信息
-delete 表示若同步到的目錄下有服務(wù)端沒有的文件,刪除之
-password-file 指定密碼文件的位置
后面的格式是 用戶名@IP::共享名 /同步到的目錄