目标服务器端配置文件
[rsyncd.conf]
uid = nobody
gid = nobody
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
#模块名
[web1]
#目标服务器目录
path = /usr/local/rubyzhu/test
comment = web1 file
ignore errors = yes
read only = no
write only = no
list = false
hosts allow = 127.0.0.1
hosts deny = *
uid = root
gid = root
#认证用户名,与操作系统用户无关
auth users = backup
secrets file = /etc/rsyncd.secrets
客户端配置文件(被监控系统)
[inotify-tool.sh 自写脚本]
#!/bin/sh
src=/usr/local/rubyzhu/test1/ #inotify监控的目录
des1=web1 #rsync服务器模块
ip1=127.0.0.1 #目标服务器的IP地址
user=backup #目标服务器的rsyncr的web1模块的用户名,跟操作系统用户名无关
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' \
-e close_write,modify,create,attrib,delete \
${src} \
| while read file
do
rsync -avz --delete --progress --password-file=/etc/server.pass ${src} ${user}@${ip1}::${des1} &&
#rsync -avz --delete --progress --password-file=/etc/server.pass ${src} ${user}@${ip2}::${des2} &&
echo "${src} was rsynced"
echo "-----------------------------------------------------"
done