zoukankan      html  css  js  c++  java
  • 配置rsync+inotify实时同步

    与上一篇同步做

    配置rsync+inotify实时同步

    配置rsync+inotify实时同步

    1:调整inotify内核参数

    在linux内核中,默认的inotify机制提供三个调控参数:max_queue_events、max_user_instances、max_user_watches,分别表示监控事件队列、最多监控实例数、每个实例最多监控文件数

    [root@localhost opt]# cat /proc/sys/fs/inotify/max_queued_events 
    16384
    [root@localhost opt]# cat /proc/sys/fs/inotify/max_user_instances 
    128
    [root@localhost opt]# cat /proc/sys/fs/inotify/max_user_watches 
    8192

    当要监控的目录、文件数量较多或者变化比较频繁时,建议加大这三个参数的值,例如:直接修改/etc/sysctl.conf配置文件,将管理队列设为32 768,实例数设为1024,监控数设为1048 576(建议大于监控目标的总文件数)

    [root@localhost ~] vim /etc/sysctl.conf
    fs.inotify.max_queued_events = 16384
    fs.inotify.max_user_instances = 1024
    fs.inotify.max_user_watches = 1048567
    [root@localhost ~] sysctl -p
    fs.inotify.max_queued_events = 16384
    fs.inotify.max_user_instances = 1024
    fs.inotify.max_user_watches = 1048567

    2:安装inotify-tools

    使用inotify机制还需要安装inotify-tools,一边提供inotifywait和inotifywatch辅助工具程序,用来监控和汇总改动情况。inotify-tools下载地址“http://inotify-tools.sourceforge.net/

    [root@localhost ~] tar zxvf /abc/inotify-tools-3.14.tar.gz -C /opt/
    [root@localhost ~] cd /opt/inotify-tools-3.14/
    [root@localhost inotify-tools-3.14] ./configure 
    [root@localhost inotify-tools-3.14] make && make install

    以监控网站目录/var/www/html为例,可以先执行inotifywait命令,然后在另一个终端向/var/www/html目录下添加、移动文件,跟踪频屏幕输出结果。其中-e指定监控事件,-m为持续监控,-r递归整个目录,-q简化输出信息

    修改同步源服务端的rsyncd.conf里面的read = no重启服务端,在客户端执行:inotifywait -mrq -e modify,create,move,delete /var/www/html不要动它重启个客户端的窗口在/var/www/html底下创建,监控服务器会出现绘画窗

    配置rsync+inotify实时同步

    编写触发脚本并执行免交互

    vim /opt/inotify.sh
    #!/bin/bash
    INOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/"
    RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /var/www/html/ backuper@192.168.32.207::wwwroot/"
    $INOTIFY_CMD | while read DIRECTORY EVENT FILE
    do
        if [ $(pgrep rsync | wc -l) -le 0 ] ; then
            $RSYNC_CMD
        fi
    done
    
    cd /opt
    chmod +x inotify.sh
    ./inotify.sh     //执行脚本
  • 相关阅读:
    Dubbo2.0
    Dubbo--RPC框架
    ActiveMQ消息队列
    quartz开源任务调度框架
    webService
    crud最常用
    springBoot第三天
    springmvc--依赖
    springBoot第二天
    pom.xml和settings.xml的下载优先级
  • 原文地址:https://www.cnblogs.com/aiaitie/p/9396606.html
Copyright © 2011-2022 走看看