http://steven2.blog.51cto.com/855881/284529
開機自啟動
vi /etc/rc.local
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
Linux(Debian和Fedora)下利用rsync同步工具自動同步遠程服務器文件的安裝和配置步驟:
一、安裝
1、Debian/Ubuntu
# apt-get install rsync (直接用系統自帶的下載和安裝工具安裝)
2、Fedora或其它
# tar xf rsync-3.0.5.tar.gz
# cd rsync-3.0.5
# ./configure --profix=/usr/local/rsync (配置安裝目錄為/usr/local/rsync)
# make
# make install
二、配置
1、 服務器端(123.196.114.200)
1) 配置文件
# cd /etc
# vim rsyncd.conf
uid = backup (本人單獨創建了備份用戶,也可用root,默認是nobody)
gid = backup
use chroot = no (默認是yes(需root運行rsync)額外的安全保護)
max connections = 4 (設置連接數為4, 默認連接數不限制)
pid file = /var/run/rsyncd.pid (告訴進程寫到 /var/run/rsyncd.pid 文件中)
lock file =/var/run/rsyncd.lock
log file = /var/log/rsyncd.log (日志文檔)
[100qslogbak] (模塊:rsync的客戶端)
path=/home/rsync/userlog/logbackup(欲備份的文檔目錄)
comment=From webserver
auth user=backup (連接帳號,和系統帳號沒關系,服務器必須上存在此賬號)
secrets file=/etc/rsyncd.secrets (密碼存放文件)
ignore errors (防止因為暫時資源不足或其他IO錯誤導致的嚴重問題)
read only=no (只讀選項,即,不讓客戶端上傳文件到服務器上)
list=no (不顯示列出rsync 服務器上提供同步數據的目錄)
[114bak] (模塊:rsync的另一個客戶端)
path=/home/rsync/userlog
comment=From agentserver
auth user=backup
secrets file = /etc/rsyncd.pwd
ignore errors
read only=yes
list=no
# :wq (保存并退出)
# vim rsyncd.secretes
用戶名:密碼 (如:backup:123456789)
# :wq (保存并退出)
# chmod 600 rsyncd.secretes (社區密碼文件權限為600,此步必須設置)
2) 啟動服務
# /usr/bin/rsync --daemon (--config=/etc/rsyncd/rsyncd.conf 此句可有可無)
2、 客戶端(192.168.1.100)
客戶端只要配置密碼文件即可。
# cd /etc
# vim rsyncd.secretes
密碼 (如:123456789)
# chmod 600 rsyncd.secretes (社區密碼文件權限為600,此步必須設置)
注:此處密碼一定要與rsync服務器端密碼文件中密碼保持一致。并且應為rsync客戶端密碼。
# /usr/bin/rsync --zvrtopg --password-file=/etc/rsyncd.secretes --progress
注:上述命令是指把服務端的這個路徑(/home/rsync/userlog/logbackup)下的文件同步到客戶端的這個路徑(/home/rsync/userlog/)下。若想反過來,把客戶端的文件同步到服務端,則為如下:
# /usr/bin/rsync --zvrtopg --password-file=/etc/rsyncd.secretes --progress
# vim backup.sh (把命令保存到一個腳本文件中,以便做定時任務)
/usr/bin/rsync --zvrtopg --password-file=/etc/rsyncd.secretes --progress
# :wq
3、 設置防火墻
Rsync默認使用的端口是873,安裝配置完后,客戶端和服務端都需要設置防火墻。
# iptables -i INPUT -p tcp --dport 873 -j ACCEPT
# iptable -L (查看防火墻的設置)
三、定時任務
為了讓系統自動執行文件同步,需在系統的crontab中添加定時任務。
# crontab –u root –e
00 2 * * * sh /usr/bin/backup.sh (凌晨2點整執行定時任務)
# echo "/usr/bin/rsync --daemon" >> /etc/rc.local (開機自動啟動rsync服務)
四、注意事項
1) 提示密碼文件不能讀,需要手工輸入密碼時,可能就是密碼文件權限不是600,或者格式不對,或者是路徑不對。
2) 提示要創建新目錄或文件傳輸失敗時,可能是欲同步的目錄沒有權限,最好把欲同步的目錄權限修改為744。
3) 從客戶端同步文件到服務端時,最好單個文件目錄傳輸,否則易出錯。