一、下載安裝rsync
1. 檢查rsync 是否已經安裝
# rpm -qa|grep rsync
若已經安裝,則使用rpm -e 命令卸載。
2. 下載RPM包
# wget http://pkgs.repoforge.org/rsync/rsync-3.0.9-2.el6.rfx.x86_64.rpm
(安裝wget:yum -y install wget)
3. 安裝rsync
# rpm -ivh rsync-3.0.9-2.el6.rfx.x86_64.rpm --force --nodeps
二、配置rsync server
1. 啓動rsync
#vi /etc/xinetd.d/rsync,把原來的disable yes改成no
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
隨系統啓動RSYNC
#chkconfig rsync on
2. 配置/etc/rsyncd.conf
#vi /etc/rsyncd.conf
全局參數
uid = root //運行RSYNC守護進程的用戶
gid = root //運行RSYNC守護進程的組
use chroot = no //不使用chroot
max connections = 4 // 最大連接數爲4
log file = /var/log/rsyncd.log //指定rsync的日誌文件
pid file = /var/log/rsyncd.pid //指定rsync的pid文件
lock file = /var/run/rsyncd.lock //指定鎖文件存放位置
#strict modes =yes //是否檢查口令文件的權限
#port = 873 //默認端口873
hosts allow = 10.0.13.88 //允許主機
timeout = 10 //超時10s
模塊參數
[app] //這裏是認證的模塊名,在client端需要指定
path = /home/app/ //需要做鏡像的目錄,不可缺少!
comment = This is a test //這個模塊的註釋信息
ignore errors //可以忽略一些無關的IO錯誤
read only = yes // 只讀
list = no //不允許列文件
auth users = user_test //認證的用戶名,無則表明是匿名,與系統無關
secrets file = /etc/rsyncd.pwd //密碼和用戶名對比表,密碼文件自己生成
3. 配置rsync密碼(一行一個用戶,用戶名:密碼)
#vi /etc/rsync.pwd
usr_test:123456
也可用此命令:echo user_test:123456 >> /etc/rsyncd.pwd
權限更改爲600
#cd /etc
#chmod 600 rsyncd.pwd
(#chown root.root rsyncd.pwd,可有,設置爲root所有)
三、啓動rsync server
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf
加入rc.local
在各種操作系統中,rc文件存放位置不盡相同,可以修改使系統啓動時把rsync --daemon加載進去。
#vi /etc/rc.local
加入一行/usr/local/rsync –daemon
四、檢查rsync
#netstat -a | grep rsync
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
或者#ps -ef | grep rsync
五、配置rsync client
1.設定密碼
#vi /etc/rsyncd.pwd
123456
修改權限
#cd /etc
#chmod 600 rsyncd.pwd
(#chown root.root rsyncd.pwd)
2.client連接SERVER
向SERVER端上傳文件:將本地的test目錄上傳至服務器10.0.13.87::app所在目錄
/usr/bin/rsync -vzrtopg --progress --password-file=/etc/rsyncd.pwd /test user_test@10.0.13.87::app
從SERVER端取文件:將服務器app目錄下的文件備份到本地/home/app下
/usr/bin/rsync -vzrtopg --progress --delete user_test@10.0.13.87::app /home/app --password-file=/etc/rsyncd.pwd
另一種用root用戶連接方式:
/usr/bin/rsync -vzrtopg --progress --delete [email protected]:/home/tmp /home/app
輸入10.0.13.87密碼即可將遠端/home/tmp/下文件備份到本地/home/app下
3、自動運行
1)vi /usr/bin/rsyncd.sh //製作腳本文件
chmod +x /usr/bin/rsyncd.sh
把下邊的內容複製進去
#!/bin/bash
/usr/bin/rsync -vzrtopg --progress --delete usr_test@10.0.13.87::app /home/app --password-file=/etc/rsyncd.pwd
2) crontab -e
加入*/1 * * * * /usr/bin/rsyncd.sh //每1分運行一次rsyncd.sh腳本文件
/************************/
分 時 日 月 周
* * * * *
/************************/