rsync + inotify 同步
1. 配置rysnc server:同步机,同步被同步机更新的文件,很多台
vi /etc/rsyncd.conf
uid=root
gid=root
use chroot=no
max connections=10
timeout=600
strict modes=yes
port=873
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
log file=/var/log/rsyncd.log
[module_pk10]
path=/data/www/DePK10
comment=rsync pk10 unity
auth users=pk10
uid=root
gid=root
secrets file=/etc/rsyncd.secrets
read only=no
list=no
hosts allow=103.x.x.x
hosts deny=0.0.0.0/32
vi /etc/rsyncd.secrets
pk10:Lishen@123
chmod 600 /etc/rsyncd.secrets
启动:rsync --daemon
添加防火墙开放 873端口
-A INPUT -m state --state NEW -m tcp -p tcp -s 103.x.x.x --dport 873 -j ACCEPT
2. 客户端:被同步机一台,更新文件只需要更新到这台
vi /etc/rsync_client.pwd
Lishen@123
chmod 600 /etc/rsync_client.pwd
mkdir /etc/rsyncd.d/
touch /etc/rsyncd.d/rsync_exclude.lst
安装inotify:yum install -y inotify-tools
监控和同步脚本:
vi rsync.sh
#rsync auto sync script with inotify
#variables
current_date=$(date +%Y%m%d_%H%M%S)
source_path=/data/www/DePK10/
log_file=/var/log/rsync_client.log
#rsync
rsync_server="xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx"
rsync_user=pk10
rsync_pwd=/etc/rsync_client.pwd
rsync_module=module_pk10
INOTIFY_EXCLUDE='(.*/*\.log|.*/*\.swp)$'
RSYNC_EXCLUDE='/etc/rsyncd.d/rsync_exclude.lst'
#rsync client pwd check
if [ ! -e ${rsync_pwd} ];then
echo -e "rsync client passwod file ${rsync_pwd} does not exist!"
exit 0
fi
#inotify_function
inotify_fun(){
/usr/bin/inotifywait -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w %f' \
--exclude ${INOTIFY_EXCLUDE} -e modify,delete,create,move,attrib ${source_path} \
| while read file
do
for server in $rsync_server
do
/usr/bin/rsync -auvrtzopgP --delete --exclude-from=${RSYNC_EXCLUDE} --progress --bwlimit=200 --password-file=${rsync_pwd} ${source_path} ${rsync_user}@${server}::${rsync_module}
done
done
}
#inotify log
inotify_fun >> ${log_file} 2>&1 &
参考:http://seanlook.com/2014/12/12/rsync_inotify_setup/
rsync + inotify 同步的更多相关文章
- Rsync+Inotify同步
rsync服务安装与<rsync+sersync同步>环境一样! 安装inotify-tools 在源服务器10.10.2.191上操作: 1.查看服务器内核是否支持inotify ll ...
- 使用rsync+inotify同步两台服务器文件
目标功能:将B服务器文件同步到A服务器 A服务器rsyncd.conf配置 权限600 A服务器rsyncd.pas文件配置 权限600 同步文件路径 /data/wwwroot/shen/ 权限 ...
- rsync+inotify同步备份
1.rsync与scp区别 scp无法备份大量数据,先统计文件信息,后进行拷贝,如果文件大小超出磁盘空间,则无法拷贝 rsync边复制,边比较,边统计 2.rsync特点 (1.)支持增量备份 (2. ...
- rsync+inotify同步备份文件
前言 rsync作用:man rsync可以看到解释为a fast, versatile, remote (and local) file-copying tool,主要进行文件的同步. inotif ...
- rsync+inotify实现实时同步案例--转
转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...
- Rsync+inotify实现实时同步
1.1 inotify介绍 inotify是一种强大的.细粒度的.异步的文件系统事件控制机制.linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加.删除. ...
- rsync+inotify实现实时同步案例
转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...
- Centos 6.5 rsync+inotify 两台服务器文件实时同步
rsync和inotify是什么我这里就不在介绍了,有专门的文章介绍这两个工具. 1.两台服务器IP地址分别为: 源服务器:192.168.1.2 目标服务器:192.168.1.3 @todo:从源 ...
- 通过rsync+inotify实现数据实时备份同步
一.环境描述 测试环境 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 环境描述: 主服务器172.26.7.50 ,从 ...
随机推荐
- 通过slf4j/log4j的MDC/NDC 实现日志追踪
在分布式系统或者较为复杂的系统中,我们希望可以看到一个客户请求的处理过程所涉及到的所有子系统\模块的处理日志. 由于slf4j/log4j基本是日志记录的标准组件,所以slf4j/log4j成为了我的 ...
- DataSource的设置
1.Centos和redhat,Fedora等版本无须设置,直接在cloud.cfg指定,默认是EC2 datasource_list: ['ConfigDrive','OpenStack'] 2.u ...
- event.returnValue=false与event.preventDefault()
event.preventDefault()方法是用于取消事件的默认行为,但此方法并不被ie支持,在ie下需要用window.event.returnValue = false; 来实现. funct ...
- C#学习笔记----静态字段和静态方法
1.使用关键字 static 修饰的字段或方法成为静态字段和静态方法,如 public static int num = 1;2.静态字段属于类,并为类所用.而非静态字段属于对象,只能被特定的对象专有 ...
- 【操作系统】关于C语言设计程序退出自动关闭窗口的问题
有些同学在做实验一 命令解释程序的编写的时候,输入quit命令退出程序,窗口并没有关闭,如下图所示需要Press any key to continue(按任意键)之后才关闭. 出现这个结果的原因是在 ...
- 【bzoj1044】[HAOI2008]木棍分割 二分+dp
题目描述 有n根木棍, 第i根木棍的长度为Li,n根木棍依次连结了一起, 总共有n-1个连接处. 现在允许你最多砍断m个连接处, 砍完后n根木棍被分成了很多段,要求满足总长度最大的一段长度最小, 并且 ...
- HDU 5790 Prefix(字典树+主席树)
Prefix Time Limit: 2000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Sub ...
- The UVALIVE 7716 二维区间第k小
The UVALIVE 7716 二维区间第k小 /** 题意:给一个n * n的矩阵,有q个查询 每次查询r,c,s,k表示已(r,c)为右上角 大小为s的正方形中 第k小的元素 n <= 2 ...
- 【HDU 3336 Count the string】
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...
- For Path
/****** Script for SelectTopNRows command from SSMS ******/ DECLARE @table TABLE (姓名 VARCHAR(10),课程 ...