# apt-get update
# apt-get install rsync
# rsync --version  #查看版本

rsync服務器端配置

1:

# vi /etc/rsyncd.conf  # 手動生成

#運行RSYNC守護進程的用戶
uid = root
#運行RSYNC守護進程的組
gid = root
#不使用chroot
use chroot = no
#最大連接數是4
max connections = 4
#pid文件存放位置
pid file = /var/run/rsyncd.pid
#鎖文件存放位置
lock file = /var/run/rsync.lock
#日誌文件存放位置
log file = /var/log/rsyncd.log
[logs]
#要同步的目錄
path = /usr/local/lnmp
#忽略無關的IO錯誤
ignore errors
#只讀,不能上傳
read only = true
#禁止查看文件列表
list = false
#允許訪問服務的ip
#hosts allow = 192.168.1.200
#禁止訪問服務的ip
#hosts deny = 0.0.0.0/32
#認證的用戶名,系統必須存在的用戶,但是密碼需要在secrets file 配置,不是系統的密碼。
auth users = root
#認證用戶密碼文件,配置auth users的密碼
secrets file = /etc/rsyncd/rsyncd.secrets

2:
rsync密碼文件是以冒號分隔的明文。
每個用戶一行,前面是用戶名,後面是密碼,用戶需要是操作系統存在的用戶。
該文件的所有者必須是root,權限是600。
vi /etc/rsyncd.secrets,添加
root:123456
保存並退出後執行

chown root:root /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets

3:
啟動rsync

# /usr/bin/rsync --daemon

4:
檢查進程是否存在

# ps -aux |grep rsync

5:
rsync開機啟動

echo "/usr/bin/rsync --daemon" >> /etc/rc.local

rsync客戶端配置

設定密碼的需要創建密碼文件

# vi /etc/rsyncd.secretes

這個文件只包含服務器端auth user的密碼,不需要配置用戶名
123456

# chmod 600 /etc/rsyncd.secretes # 密碼文件權限必須設置為600
rsync -avzP --delete  --password-file=/etc/rsyncd.secretes [email protected]::logs /data/lnmp
#其中root為服務器端/etc/rsyncd.secrets中用戶名
#其中192.168.1.100為服務器端IP
#其中logs為/etc/rsyncd.conf中8行自定義命名
#其中/data/lnmp為需要同步的網站目錄

上述命令是指把服務端的這個路徑(/usr/local/lnmp)下的文件同步到客戶端的這個路徑(/data/lnmp)下。
用crontab 功能,每1小時,或每天同步一次數據:
把上述命令保存為

# vi /root/rs.sh
# chmod +x /root/rs.sh  #賦予權限

crontab -e

25 */1 * * * /root/rs.sh
//每個小時的第25分鐘自動運行一次
25 04 */1 * * /root/rs.sh
//每天的25分04時自動運行一次

重啓cron使設定生效

/etc/init.d/cron restart