1、根据之前一篇关于rsync的随笔部署好rsync服务后,可以开始inotify的部署

2、inotify的部署使用

  ①、检查系统是否支持inotify

[root@iZ25w1kdi5zZ ~]# ls -lsart /proc/sys/fs/inotify
total
dr-xr-xr-x root root Sep : ..
-rw-r--r-- root root Jan : max_user_watches
-rw-r--r-- root root Jan : max_user_instances
-rw-r--r-- root root Jan : max_queued_events
dr-xr-xr-x root root Jan : .

如果出现上面结果说明系统支持inotify。

  ②、安装

tar -zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14/
./configure --prefix=/usr/local/inotify-tools-3.14
make && make install
ln -s /usr/local/inotify-tools-3.14/ /usr/local/inotify-tools

  ③、inotify参数

  * 说明:

    max_user_instances:每个用户创建inotify实例最大值

    max_queued_events:inotify队列最大长度,如果值太小,会出现错误,导致监控文件不准确

    max_user_watches:要知道同步的文件包含的目录数

  * 查看默认参数

[root@ scripts]# sysctl -a|egrep "inotify.max_queued_events|inotify.max_user_watches|epoll.max_user_watches|inotify.max_user_instances"
fs.epoll.max_user_watches =
fs.inotify.max_queued_events =
fs.inotify.max_user_instances =
fs.inotify.max_user_watches =
sysctl: reading key "net.ipv6.conf.all.stable_secret"
sysctl: reading key "net.ipv6.conf.default.stable_secret"
sysctl: reading key "net.ipv6.conf.enp0s3.stable_secret"
sysctl: reading key "net.ipv6.conf.enp0s8.stable_secret"
sysctl: reading key "net.ipv6.conf.lo.stable_secret"
sysctl: reading key "net.ipv6.conf.virbr0.stable_secret"
sysctl: reading key "net.ipv6.conf.virbr0-nic.stable_secret"

  * 修改参数

  -命令修改

  sysctl -w fs.inotify.max_user_instances=130

[root@ scripts]# sysctl -w fs.inotify.max_user_instances=
fs.inotify.max_user_instances =
[root@ scripts]# sysctl -w fs.inotify.max_user_watches=
fs.inotify.max_user_watches =
[root@ scripts]# sysctl -w fs.inotify.max_queued_events=
fs.inotify.max_queued_events =

  -配置文件修改

[root@tmp]# vi /etc/sysctl.conf
#添加如下代码
fs.inotify.max_user_instances=

  ④、创建实时监控脚本

##例一
[root@ scripts]# cat inotify.sh
#!/bin/sh
cmd="/usr/local/inotify-tools/bin/inotifywait"
$cmd -mrq --format '%w%f' -e create,close_write,delete /backup|\
while read line
do
cd /backup &&\
rsync -az --delete --timeout= ./ rsync_user@10.0.0.10::www --password-file=/etc/rsync.password
done
##例子二
[root@iZ25w1kdi5zZ ~]# mkdir -p /opt/scripts [root@iZ25w1kdi5zZ ~]# cd /opt/scripts [root@iZ25w1kdi5zZ scripts]# vi inotify_start.sh
/usr/local/inotify/bin/inotifywait -mrq -e modify,create,move,delete \
--fromfile '/opt/scripts/ffile' \
--timefmt '%y-%m-%d %H:%M' --format '%T %f %e' \
--outfile '/tmp/rsync.log' inotifywait常用参数:
--timefmt 时间格式
%y年 %m月 %d日 %H小时 %M分钟
--format 输出格式
%T时间 %w路径 %f文件名 %e状态
-m 始终保持监听状态,默认触发事件即退出。
-r 递归查询目录
-q 打印出监控事件
-e 定义监控的事件,可用参数:
open 打开文件
access 访问文件
modify 修改文件
delete 删除文件
create 新建文件
attrb 属性变更

rsync & inotify-tools 实时同步的更多相关文章

  1. linux rsync +inotify 实现 实时同步

    前言:     rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rs ...

  2. rsync + inotify 数据实时同步

    一.rsync介绍 rsync英文全称为Remote synchronization,从软件的名称就可以看出来,Rsync具有可是本地和远程两台主机之间的数据快速复制同步镜像.远程备份的功能,这个功能 ...

  3. rsync+inotify实现实时同步案例--转

    转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...

  4. rsync+inotify实现实时同步案例

    转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...

  5. Rsync+inotify实现实时同步

    1.1 inotify介绍 inotify是一种强大的.细粒度的.异步的文件系统事件控制机制.linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加.删除. ...

  6. rsync+inotify实现实时同步案例【转】

    1.1 inotify介绍 inotify是一种强大的.细粒度的.异步的文件系统事件控制机制.linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加.删除. ...

  7. rsync简介与rsync+inotify配置实时同步数据

    rsync简介 rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. rsync特性 rsync ...

  8. CentOS 7 rsync+inotify实现实时同步

    测试环境如下: inotify-slave IP : 172.16.0.222 inotify-master IP : 172.16.0.233 对两台机的要求: 安装依赖包gcc: yum inst ...

  9. centos 配置rsync+inotify数据实时同步2

    一.Rsync服务简介 1. 什么是Rsync 它是一个远程数据同步工具,它在同步文件的同时,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“rsync算法”来使本地和远程两个主机 ...

  10. centos 配置rsync+inotify数据实时同步

    何为rsync? 定义: rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,非常适用于异地备份 何为源端和发起端? 在远程同步过程中,负责发起rs ...

随机推荐

  1. 【Leetcode_easy】669. Trim a Binary Search Tree

    problem 669. Trim a Binary Search Tree 参考 1. Leetcode_easy_669. Trim a Binary Search Tree; 完

  2. Docker 网络(十一)

    目录 一.none 网络 二.host 网络 三.bridge 网络 四.User-defined 网络 1.创建 my_bridge 网络 2.自定义网络 IP 段 3.给容器指定分配静态 IP 4 ...

  3. socket 一个websocke对应一个socketclient对象

    using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Co ...

  4. 最新 百度java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.百度等10家互联网公司的校招Offer,因为某些自身原因最终选择了百度.6.7月主要是做系统复习.项目复盘.LeetCode ...

  5. 用BERT做语义相似度匹配任务:计算相似度的方式

    1. 自然地使用[CLS] 2. cosine similairity 3. 长短文本的区别 4. sentence/word embedding 5. siamese network 方式 1. 自 ...

  6. @Value注入static属性

    1. 给参数注入,执行set方法 public class SendMessageCenter {     private static String message;    private stat ...

  7. [学习笔记] Blender 常用工具 移动与旋转,缩放, 变换

    点击上面的移动图标之后,可在X,Y,Z轴移动物体. shift+S 之后,可有更多的移动选项. 旋转:可沿X,Y, Z 进行旋转 缩放 还可输入缩放的具体数值,更精确. 变换 可同时做移动.旋转.缩放 ...

  8. Win10下 jdk的安装

    jdk 的下载地址 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 在 D 盘 ...

  9. C++ 日志库 boost::log 以及 glog 的对比

    日志能方便地诊断程序原因.统计程序运行数据,是大型软件系统必不可少的组件之一.本文将从设计上和功能上对比 C++ 语言常见的两款日志库: boost::log 和 google-glog . 设计 b ...

  10. 给内部类对象数组属性赋值时报错:Exception in thread "main" java.lang.NullPointerException

    前言 1255: 打怪升级(Java),写这个题目程序的时候,控制台提示如下错误: Exception in thread "main" java.lang.NullPointer ...