Rsync server(10.10.10.156):備份伺服器
Rsync client(10.10.10.159):備份來源
Rsync Server(10.10.10.156)
安裝並設定服務狀態
# yum install -y rsync xinetd
# chkconfig rsync on; chkconfig xinetd on
# service xinetd start
開啟 rsync 服務
# vim /etc/xinetd.d/rsync
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait = no
user = root, user1
// 請記得加入連線使用者名稱,若沒有加入,client 端同步時會出現錯誤訊息,請參考 Troubleshooting1
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
# service xinetd restart
防火牆設定
# iptables -A INPUT -p tcp -m tcp --dport 873 -j ACCEPT
備份組態檔設定
# vim /etc/rsyncd.conf
[rsyncserver] // 主機代號
path = /home/backup // 備份資料的路徑
auth users = user1
uid = root
gid = root
secrets file = /etc/rsyncd.secrets // 認證密碼檔
read only = no
# mkdir /home/backup
# rsync --daemon --config=/etc/rsyncd.conf
// 載入設定檔,若沒載入有設定,client 端同步時會出現錯誤訊息,請參考Troubleshooting2
認證密碼檔
# vim /etc/rsyncd.secrets
user1:1 // user_name:password
# chmod 600 /etc/rsyncd.secrets
Rsync Client(10.10.10.156)
在 client 端的部份,我使用 shell script 加上 crontab 自動產生及刪除檔案,這樣就不用手動去增加或刪除資料。shell script 內容:每分鐘產生一個壓縮檔,並只保留 10 分鐘以內的壓縮檔,舊的資料會自動刪除。
# vim test.sh
#!/bin/bash
YMD=$(date +%Y-%m-01-%M-01)
YMD70=$(date +%Y-%m-01-%M-01 --date -10minutes)
basedir="/var/www/webserver_backup"
/bin/tar -zcvf "$basedir"/"$YMD".tar.gz /var/www/html/*
/bin/rm -rf "$basedir"/"$YMD70".tar.gz
自動排程設定
# crontab -l
*/1 * * * * /root/test.sh
定時執行程式並監看結果 -watch
# cd /var/www/webserver_backup
# watch ls -lh
同步指令
# vim /etc/rsyncd.secrets
1
# chmod 600 /etc/rsyncd.secrets
# rsync -av --progress --delete --port=873 --password-file=/etc/rsyncd.secrets /var/www/webserver_backup/ user1@10.10.10.156::rsyncserver
第一次備份:
第二次備份:保持兩邊同步,所以會有deleting動作
Troubleshooting1
# rsync -av --progress --delete --port=873 --password-file=/etc/rsyncd.secrets /var/www/webserver_backup/ user1@10.10.10.156::rsyncserver
@ERROR: auth failed on module rsyncserver
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
Troubleshooting2
# rsync -av --progress --delete --port=873 --password-file=/etc/rsyncd.secrets /var/www/webserver_backup/ user1@10.10.10.156::rsyncserver
rsync: failed to connect to 10.10.10.156: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]
沒有留言:
張貼留言