rsync + inotify同步服务器数据

这篇文章主要讲了rsync + inotify 配置方式,至于如何安装这两个工具,网上教程一大堆,这里不再逐一叙述。

功能:服务器修改同步到客户端

服务器端配置:

服务器IP10.11.28.4

/home/www/rsync.sh

 

 

#!/bin/bash
  src=/home/www/apache-tomcat-7.0.64/webapps/redpacket/ #同步的文件夹
  des=www #标志 和客户端的对应
  host="10.11.28.5" #客户端IP地址
  /home/www/inotify-tools-3.14/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e  modify,delete,create,attrib $src | while read files
  do
  for hostip in $host
  do
  rsync -vzrtopg --delete --progress --password-file=/etc/rsync.passwd $src cib@$hostip::$des
  done
  echo "${files} was rsynced" >>/home/www/slave_sync/rsync.log 2>&1 # 服务器端日志地址
  done

 /etc/rsync.passwd

bonus #密码

客户端配置:

客户端IP10.11.28.5

/etc/rsyncd.conf

list=yes
uid=root #所同步文件夹属于的用户和组 必须保持一致
gid=root #所同步文件夹属于的用户和组
hosts allow=10.11.28.4
max connections=30
log file=/var/log/rsyncd.log #客户端日志地址
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsync.lock
[www]
comment=from 10.11.28.5
path=/home/www/apache-tomcat-7.0.64/webapps/redpacket/
auth users=cib  #用户名,必须为系统用户,且和rsync.passwd中对应
read only = false
secrets file=/etc/rsync.passwd

 /etc/rsync.passwd

cib:bonus # 用户名和密码

 

 服务器端启动rsync.sh

nohup /bin/bash /home/cib/rsync.sh &

服务器端终止rsync.sh

ps -ef |grep rsync.sh |awk '{print $2}'|xargs kill -9

客户端启动rsync

rsync --daemon

客户端终止rsync

ps –ef | grep rsync

找到rsyncpid, 然后kill

猜你喜欢

转载自betakoli.iteye.com/blog/2263152
今日推荐