当前位置: 首页 > news >正文

Linux下inotify监控文件夹状态,发生变化后触发rsync同步

1、安装工具
--inotify
wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
tar -zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify
make && make install

--rsync
下载:http://rsync.samba.org/
tar -zxvf rsync-3.1.0.tar.gz
cd rsync-3.1.0
./configure --prefix=/usr/local/rsync
make && make install

 

2、编写运行脚本:
[root@192.168.1.1 script]$ vim monitor_dircharge.sh
#!/bin/sh
## -------------------------------------------------

## @监控目录状态,有变化后触发rsync同步
## -------------------------------------------------

srcdir="/data/www/New/html/www"
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y-%H:%M' --format '%T%w%f' -e modify,delete,create,attrib,move ${srcdir} \
| while read file
do
sudo rsync -rlptDvzHS --delete --port=9789 --password-file=/etc/rsyncd.password_client /data/www/New/html/www/ root@192.168.1.2::Server/New/html/www/
done

 

3、启动脚本
nohup sudo sh /data/script/monitor_dircharge.sh >> /tmp/inotify.log 2>&1 &

 

4、添加开机启动
echo 'nohup sudo sh /data/script/monitor_dircharge.sh >> /tmp/inotify.log 2>&1 &' >> /etc/rc.local

 

相关文章:

  • 2016年开源巨献:来自百度的71款开源项目
  • 【MySQL使用技巧】JDBC连接
  • [pthon2.7+django1.2+sae]博客评论的异步提交
  • angular2 学习一 注解/Annotation
  • Android输入事件详解
  • HTML基础第十一讲---背景标志
  • Linux使用mount挂载samba共享
  • 由socket的accept说开去
  • CentOS 6.7安装Sqoop 1.4.6
  • SELinux上课内容
  • 浅谈Android编码规范及命名规范
  • 实现一些常用字符串处理函数
  • [摘录]第11章 造就优势谈判的驱动力
  • java调用斑马GK888t打印机(ZPL指令)
  • 允许chrome 浏览器运行 flash player
  • .pyc 想到的一些问题
  • Codepen 每日精选(2018-3-25)
  • Date型的使用
  • ECMAScript6(0):ES6简明参考手册
  • interface和setter,getter
  • iOS小技巧之UIImagePickerController实现头像选择
  • JavaScript学习总结——原型
  • Node 版本管理
  • Phpstorm怎样批量删除空行?
  • redis学习笔记(三):列表、集合、有序集合
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 简析gRPC client 连接管理
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 什么是Javascript函数节流?
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 优化 Vue 项目编译文件大小
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • Java性能优化之JVM GC(垃圾回收机制)
  • Nginx实现动静分离
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​一些不规范的GTID使用场景
  • # Apache SeaTunnel 究竟是什么?
  • #每日一题合集#牛客JZ23-JZ33
  • (2015)JS ES6 必知的十个 特性
  • (MATLAB)第五章-矩阵运算
  • (二)PySpark3:SparkSQL编程
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (三十五)大数据实战——Superset可视化平台搭建
  • (原創) 未来三学期想要修的课 (日記)
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • ******之网络***——物理***
  • ... 是什么 ?... 有什么用处?
  • .gitignore文件_Git:.gitignore
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net core webapi 大文件上传到wwwroot文件夹
  • .Net IOC框架入门之一 Unity
  • .net2005怎么读string形的xml,不是xml文件。
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .Net语言中的StringBuilder:入门到精通
  • @RequestBody的使用