raync + Inotify 同步实践

前提:rsync 能够正常推送和拉取

1、下载inotify-tools

下载地址:https://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

# rpm -qa gcc-c++ gcc     #检查是否安装编译工具

gcc-c++-4.4.7-3.el6.x86_64

gcc-4.4.7-3.el6.x86_64

#yum install make  gcc gcc-c++  #如果没有,安装编译工具

# tar xf inotify-tools-3.14.tar.gz #解压文件

# cd inotify-tools-3.14     #进入到解压目录

#./configure --prefix=/usr/local/inotify  #配置

#make && make install #编译安装

#echo $? #检查是否安装成功 0表示安装成功

0

inotify 常用参数

-r|--recursive    Watch directories recursively.

-q|--quiet        Print less (only print events)

-m|--monitor       Keep listening for events forever.

-e|--event

access file or directory contents were read

modify file or directory contents were written

attrib file or directory attributes changed

close_write file or directory closed, after being opened in

writeable mode

close_nowrite file or directory closed, after being opened in

read-only mode

close file or directory closed, regardless of read/write mode

open file or directory opened

moved_to file or directory moved to watched directory

moved_from file or directory moved from watched directory

move file or directory moved to or from watched directory

create file or directory created within watched directory

delete file or directory deleted within watched directory

delete_self file or directory was deleted

unmount file system containing file or directory unmounted



测试脚本1:

#!/bin/bash
####
/usr/local/inotify/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f‘ -e close_write,delete,create,attrib /backup/ |  while read file;
        do
        cd /backup/ && rsync -az -R --delete ./ [email protected]::data1 --password-file=/etc/rsync.password >/dev/null 2>&1
       done
exit 0


测试脚本2:

#!/bin/bash
####
/usr/local/inotify/bin/inotifywait -mrq  -e close_write,delete,create,attrib /backup |   while read line
        do
        rsync -az  --delete $line [email protected]::data1 --password-file=/etc/rsync.password >/dev/null 2>&1
       done
exit 0

参考资料:http://www.osyunwei.com/archives/7435.html

https://github.com/rvoicilas/inotify-tools/wiki#getting

时间: 2024-11-09 00:50:20

raync + Inotify 同步实践的相关文章

vmware P2V迁移同步实践

                         作者 :杨 坚 第一部分:P2V迁移 P2V迁移需要使用VMware vCenter Converter Standalone 5.0 ,该软件提供了一种易于使用的解决方案,可以从物理机(运行 Windows 和 Linux).其他虚拟机格式及第三方映像格式自动创建 VMware 虚拟机.通过简单易用的向导驱动界面和集中管理控制台,Converter Standalone 无需任何中断或停机便可快速而可靠地转换多台本地物理机和远程物理机.通过在数

rsync+inotify同步备份MYSQL数据

rsync+inotify同步备份MYSQL数据 rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,但是rsync不能实时的去监测.同步数据.inotify 是一种强大的.细粒度的.异步的文件系统事件监控机制,通过inotify可以监控文件系统中添加.删除,修改.移动等各种细微事件. 实验环境:备份端192.168.1.123(rsync server) 备份源192.168.124(rsync client inotify mysql)

MSSQL Server Replication机制主从同步实践

?? MSSQL Server Replication机制主从同步实践 参考文档: https://msdn.microsoft.com/en-us/library/aa337389.aspx1.Preparing the Server for Replication:https://msdn.microsoft.com/en-us/library/aa337475.aspx2.Replicating Data Between Continuously Connected Servers:htt

企业案例rsync+inotify同步web数据

应用场景: 公司后端有两台nginx服务器,因还在测试阶段.故开发经常需要更新web程序,而每次更新都需要上传两次.现在两台web服务器还好.如果以后随着业务量的增长,4.5台的时候还需要挨个上传就有点苦逼了.故我打算使用rsync+inotify组合来实现服务器的数据时时同步. rsync介绍: rsync是linux/UNIX系统下的文件同步和数据传输工具,采用rsync算法使一个客户机和远程文件服务器之间的文件同步.通过rsync可以将同一个服务器的数据从一个分区备份到另一个分区,也可以将

rsync+inotify同步备份

1.rsync与scp区别 scp无法备份大量数据,先统计文件信息,后进行拷贝,如果文件大小超出磁盘空间,则无法拷贝 rsync边复制,边比较,边统计 2.rsync特点 (1.)支持增量备份 (2.)选择性的保持:符号链接,硬链接,文件属性,权限,时间 (3)传输前执行压缩,适用于异地备份,镜像服务器等应用. (4.)使用ssh作为传输端口,sftp,ssh (5.)rsync默认端口 873,是c/s架构,可以直接使用rsync命令,进行点到点的传输 . (6.)官网:http://rsyn

linux用inotify同步文件

先安装inotify-tools #!/bin/sh dir=/opt/pup/archive/ /usr/bin/inotifywait -mrq --format '%f' -e create ${dir} | while read f   do  if [ "${f##*.}"x = "png"x ];then #echo upload file: ${f} /usr/bin/ncftpput -u a -p a 10.151.84.139 . ${dir}$

Redis 学习笔记四 Mysql 与Redis的同步实践

一.测试环境在Ubuntu kylin 14.04 64bit 已经安装Mysql.Redis.php.lib_mysqludf_json.so.Gearman. 点击这里查看测试数据库及表参考 本文也有些基本操作,在之前文章里有介绍. 1.安装 安装gearman-mysql-udf apt-get install libgearman-dev wget https://launchpad.net/gearman-mysql-udf/trunk/0.6/+download/gearman-my

Mysql 与Redis的同步实践

一.测试环境在Ubuntu kylin 14.04 64bit 已经安装Mysql.Redis.php.lib_mysqludf_json.so.Gearman. 点击这里查看测试数据库及表参考 本文也有些基本操作,在之前文章里有介绍. 1.安装 安装gearman-mysql-udf apt-get install libgearman-dev wget https://launchpad.net/gearman-mysql-udf/trunk/0.6/+download/gearman-my

Mysql与Redis的同步实践

一.测试环境在Ubuntu kylin 14.04 64bit 已经安装Mysql.Redis.php.lib_mysqludf_json.so.Gearman. 点击这里查看测试数据库及表参考 本文也有些基本操作,在之前文章里有介绍. 1.安装 mysql-udf">安装gearman-mysql-udf ? 1 2 3 4 5 6 7 apt-get install libgearman-dev wget https://launchpad.net/gearman-mysql-udf/