實驗節點如下:
源節點:192.168.0.111
備份節點:192.168.0.112
------------------------------以下部分在兩個節點上執行
1、防火牆開放873端口(兩個節點)
# /sbin/iptables -I INPUT -p tcp --dport 873 -j ACCEPT
# /etc/rc.d/init.d/iptables save
# service iptables restart
2、關閉selinux(兩個節點)
# vi /etc/selinux/config
修改如下内容:
SELINUX=disabled
# setenforce 0
3、建立所需目錄,上傳軟體到soft下(兩個節點)
# 在192.168.0.111上 建立目錄 mkdir /data
# 在192.168.0.112上 建立目錄 mkdir /test
安裝相關依賴包(兩個節點)
# yum -y install gcc gcc-c++ make perl wget rsync
------------------------------以下在源節點上配置
1、建立配置檔案(源節點)
# vi /etc/rsync.conf
添加如下内容:
#/etc/rsyncd.conf
#pid檔案的存放位置
pid file = /var/run/rsyncd.pid
#日志檔案位置,啟動rsync後自動産生這個檔案,無需提前建立
log file = /var/log/rsyncd.log
#支援max connections參數的鎖檔案
lock file=/var/run/rsyncd.lock
#使用者認證配置檔案,裡面儲存使用者名稱和密碼
secrets file = /etc/rsyncd.pw
#rsync啟動時歡迎資訊頁面檔案位置
motd file = /etc/rsyncd.motd
transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
#自定義名稱
[data]
#設定需要同步的目錄
path = /data/
#子產品名稱與[data]自定義名稱相同
comment = data
指定/data目錄下不需要同步的目錄:exclude = dd,aa
#預設端口
port = 873
#設定rsync運作ID号或賬戶名稱,預設為nobody
uid = nobody
#設定rsync運作GID号或賬戶名稱,預設為nobody
gid = nobody
#設定逾時時間
timeout = 600
#最大連接配接數
max connections = 200
#預設為true,修改為no,增加對目錄檔案軟連接配接的備份
use chroot = no
#設定rsync服務端檔案為隻讀
read only = yes
#不顯示rsync服務端資源清單
list = no
#允許進行資料同步的備份節點IP位址
hosts allow = 192.168.0.112
#設定拒絕所有(除hosts allow定義的主機外)
hosts deny = *
2、建立密碼認證檔案(源節點)
# vi /etc/rsyncd.pw
添加以下内容:
#格式,使用者名:密碼,可以設定多個,每行一個使用者名:密碼
tom:pass
jerry:111
3、設定權限(源節點)
# chmod 600 /etc/rsync.conf
# chmod 600 /etc/rsyncd.pw
4、配置rsyncd.motd檔案,開始傳送的時候會顯示(源節點)
# vi /etc/rsyncd.motd
輸入以下内容:
###############################
# #
# hello,welcome to everyone #
# #
5、啟動rsync服務(源節點)
rsync --daemon
出現錯誤“could not found '/etc/rsyncd.conf'”,壞了啟動不起來,想了下前面明明有手動配置這個檔案啊,于是輸入“ find / -type f -name "rsyncd.conf",還是一樣的錯誤提示,切換到/etc下,cd /etc,再輸入ls,看了下前面儲存的配置檔案是"rsync.conf",奇怪了,明明配置的是rsync.conf檔案,啟動rsync服務怎麼會提示找不到rsyncd.conf,想了想,肯定是手動寫的配置檔案有錯誤,輸入:cat rsync.conf,檢視編寫的配置檔案内容,搞明白了,問題原來是寫配置檔案時裡面所有的“rsync”都寫成了"rsyncd或rsyncd.*",現在再次手動一個一個改太過麻煩,錯誤提示不是找不到"rsyncd.conf"嗎,嘿嘿,我想了個怪招,直接把/etc/rsync.conf重命名成了"rsyncd.conf",重新再啟動rsync服務,哈哈,啟動成功,為了確定啟動成功查了下是否已經監聽873端口,
[root@zkq data]# netstat -antulp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 975/sshd
tcp 0 0 192.168.0.111:873 0.0.0.0:* LISTEN 1671/rsync
tcp 0 52 192.168.0.111:22 192.168.0.200:62890 ESTABLISHED 1008/sshd
tcp 0 0 :::22 :::* LISTEN 975/sshd
6、設定開機啟動(源節點)
# echo "/usr/bin/rsync --daemon">>/etc/rc.d/rc.local
—————————————以下在備份節點執行————————————
1、安裝rsync(前面已安裝了,這裡不再安裝)
Password:
輸入密碼後就開始同步了,可是同步到最後還是有錯誤
single
smartd
snmpd
snmptrapd
sshd
svnserve
sysstat
udev-post
{seq
lost+found/
"rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1505) [generator=3.0.6]”
根據錯誤提示看來是共享目錄的權限問題,解決方法:
檢查伺服器端的目錄(備份目錄)是否存在,并檢查其權限。建立目錄并修正權限可解決問題。
在源節點上檢視目錄是存在的,再看共享目錄裡所有子目錄和檔案的權限,原來是有些檔案沒有給其它使用者可讀可執行權限,為了不再出現同樣的問題,是以給共享目錄下的所有子目錄或檔案賦予其它使用者的可讀可執行權限。
restorecond
rngd
rsyslog
sandbox
saslauthd
seq
sent 1048 bytes received 66532 bytes 5005.93 bytes/sec
total size is 170761 speedup is 2.53
本文轉自 linuxzkq 51CTO部落格,原文連結:http://blog.51cto.com/linuxzkq/1591971