服務端配置:
前提:安裝了xinetd和rsync
1. 修改/etc/xinetd.d/rsync文件
將下列內容中disable=yes改為no
service rsync
{
disable = yes
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
2. 配置rsync自動啟動
執行命令:chkconfig rsync on
執行命令chkconfig rsync --list後可以看到如下內容:
rsync on
3. 配置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
[test] (這個是模塊名稱,可以配置多個模塊分別對應服務端不同的目錄。)
path = /test (這個是該模塊對應的服務端路徑)
comment = This is test
auth users = rsync (客戶端連接上來進行同步所使用的用戶名,可以任意取名,但是後面的配置要對應。)
uid = root
gid = root
secrets file = /home/rsync.ps (口令文件,裡面保存同步所使用的用戶名和口令)
read only = no
list = no
4 確保etc/services中rsync端口號正確
一般為如下內容:
rsync 873/tcp # rsync
rsync 873/udp # rsync
5 配置rsync密碼(在上邊的配置文件中已經寫好路徑)/home/rsync.ps(創建這個文件,名字隨便寫,只要和上邊配置文件裡的一致即可),格式為(用戶名:密碼),一行一個用戶。
例如:
rsync:rsync
6 配置rsync密碼文件權限
chown root.root rsync.ps
chmod 400 rsync.ps
7 啟動配置
service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
8 檢查rsync是否啟動
執行命令:lsof -i :873
正常情況應該顯示如下內容:
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
xinetd 4396 root 5u IPv4 633387 TCP *:rsync (LISTEN)
客戶端配置:
1. 設定口令文件/home/rsync.ps ,這個文件隨便起名,放在任意目錄都可以,和服務端的配置沒關系,但是內容只有一個密碼,並且是要和服務端一致。
根據上面服務端的配置,這裡的內容應該是:
rsync
然後修改文件權限:
chown root.root rsync.ps
chmod 600 rsync.ps
2. 將rsync指令放入計劃任務(crond),假設服務端ip為192.168.1.100
先測試是否可以使用
從服務端取數據:rsync -avz --progress --delete --password-file=/opt/rsync.ps
[email protected]::test /opt/web/public/
向服務端發數據:rsync -avz --progress --delete --password-file=/opt/rsync.ps /opt/web/public/
[email protected]::test
修改/etc/crontab文件,增加類似如下內容(每分鐘執行一次,從服務端取數據):
* * * * * rsync -avz --progress --delete --password-file=/opt/rsync.ps
[email protected]::test /opt/web/public/
作者 surelei