zoukankan      html  css  js  c++  java
  • linux 监控文件变化

    介绍

    有时候我们常需要当文件变化的时候便触发某些脚本操作,比如说有文件更新了就同步文件到远程机器。在实现这个操作上,主要用到两个工具,一个是rsync,一个是inotifywait 。inotifywait的作用是监控文件夹变化,rsync是用来同步,可同步到本机的其他目录或者远程服务器上。

    安装rsync

    wget http://rsync.samba.org/ftp/rsync/src/rsync-3.1.1.tar.gz
    tar zxvf rsync-3.1.1.tar.gz 
    ./configure –prefix=/usr/local/rsync-3.1.1
    make
    make install
    

    安装inotifywait

    wget http://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
    make
    make install
    

    创建并运行脚本

    新建脚本inotifywait.sh 并输入以下内容

    #!/bin/bash
    export CNROMS_SRC=/home/ftpuser/gri/   # 同步的路径,请根据实际情况修改
    inotifywait --exclude '.(part|swp)' -r -mq -e  modify,move_self,create,delete,move,close_write $CNROMS_SRC |
      while read event;
        do
        rsync -vazu --progress  --password-file=/etc/rsyncd_rsync.secret  /home/ftpuser/gri/sla  rsync@10.208.1.1::gri ##这里执行同步的命令,可以改为其他的命令
    
      done
    

    然后执行下面命令,会在后台执行监控

    nohup sh inotifywait.sh > /dev/null 2>&1
  • 相关阅读:
    回首2016,展望2017
    认识多线程
    对CloseHandle用法的理解
    CDC、HDC、pDC之间的关系
    兼容位图和兼容DC的理解
    窗口中显示bmp图片的过程
    创建一个bmp格式的简单方法
    说明为什么Button控件不能使用CustomDraw技术
    MFC自绘Button按钮分析和实现
    VC之美化界面篇
  • 原文地址:https://www.cnblogs.com/Alex0111/p/7777936.html
Copyright © 2011-2022 走看看