Linux下配置rsync 同步數據
說明:本配置為rpm包安裝rsync
[root@Hammer home]# rpm -qa |grep rsync #檢查系統是否安裝了rsync軟件包
rsync-2.6.8-3.1
[root@Hammer CentOS]# rpm -ivh rsync-2.6.8-3.1.i386.rpm # 如果沒有安裝則手動安裝
[root@test rsync-3.0.4]# vim /etc/xinetd.d/rsync
1 配置rsync servervi /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
}
2 配置rsync自動啟動
[root@test etc]# chkconfig rsync on
[root@test etc]# chkconfig rsync --list
rsync on
3 配置rsyncd.conf
[root@test etc]# vim rsyncd.conf
uid = root
gid = root
use chroot = no
max connections = 4
strict modes = yes
port = 873
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[backup]
path = /srv
comment = This is test
auth users = scihoo
uid = root
gid = root
secrets file = /home/rsync.ps
read only = no
list = no
4 確保etc/services中rsync端口號正確
[root@test etc]# vim /etc/services
rsync 873/tcp # rsync
rsync 873/udp # rsync
5 配置rsync密碼(在上邊的配置文件中已經寫好路徑)/home/rsync.ps(名字隨便寫,只要和上邊配置文件裡的一致即可),格式
(一行一個用戶)
[root@test etc]# vi /home/rsync.ps
scihoo(user):scihoo(pass)
6 配置rsync密碼文件權限
[root@test home]# chown root.root rsync.ps
[root@test home]# chmod 600 rsync.ps
7 啟動配置
[root@test home]# /etc/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
或者:
啟動rsync服務端(獨立啟動)
[root@test home]# /usr/bin/rsync --daemon
8 加入rc.local
在各種操作系統中,rc文件存放位置不盡相同,可以修改使系統啟動時把rsync --daemon加載進去。
[root@test home]# vi /etc/rc.local
/usr/local/rsync –daemon #加入一行
9 檢查rsync是否啟動
[root@test home]# lsof -i :873
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
xinetd 4396 root 5u IPv4 633387 TCP *:rsync (LISTEN)
客戶端配置
1 配置三個過程就可以了
1.1 設定密碼文件
1.2 測試rsync執行指令
1.3 將rsync指令放入工作排程(crontab)
[root@aj1 home]# vi /etc/xinetd.d/rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
1.1 配置密碼文件 (注:為了安全,設定密碼檔案的屬性為:600。rsync.ps的密碼一定要和Rsync Server密碼設定案裡的密
碼一樣)
[root@aj1 home]# vi rsync.ps
sciooo(pass)
[root@aj1 home]# chown root.root .rsync.ps # 注意必須給權限
[root@aj1 home]# chmod 600 .rsync.ps # 必須修改權限
1.2 從服務器上下載文件
[root@aj1 rsync-3.0.4]# rsync -avz --password-file=/home/rsync.ps [email protected]::backup /home/
從本地上傳到服務器上去
[root@aj1 rsync-3.0.4]# rsync -avz --password-file=/home/rsync.ps /home [email protected]::backup
PDF created with pdfFactory Pro trial version www.pdffactory.com
1.3 將rsync指令放入工作排程(crontab)
現在可以把我們的備份工作置入排程了,假設每天凌晨1點開始備份工作:
[root@aj1 home]# crontab -e
0 1 * * * /usr/bin/rsync -az --password-file=/home/rsync.ps [email protected]::backup /home
2 重啟動任務計劃 crontab
[root@Hammer home]# /etc/init.d/crond restart # crond 就是crontab的啟動進程
參看剛定的計劃任務
[root@aj1 home]# crontab -l # 注意 是小寫l 不是1
根據需要,可以參考下面的時間進行調整
配置文件 vi /etc/crontab
第1列分鐘1~59
第2列小時1~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~6(0表示星期天)
Rsync配置
vi /etc/rsyncd.conf (默認是沒有的,可以手工創建)v#全局選項
strict modes =yes #是否檢查口令文件的權限
port = 873 #默認端口873
log file = /var/log/rsyncd.log #日志記錄文件
pid file = /usr/local/rsync/rsyncd.pid #運行進程的ID寫到哪裡