inotify,rsync统一化配置

为什么要统一化配置,手动改改不行?

  • 假设有10台服务器,要改10次,错误和遗漏在所难免
  • 需要有一个地方备份配置
  • 也许还需要对配置文件进行版本控制

inotify+rsync改变这一切

  • inotify可以递归的监控文件是否有新建,修改等
  • rsync用来同步

安装inotify

  • 内核版本要Linux 2.6.13以上
wget --no-check-certificate https://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

测试脚本监控修改并自动同步

  • –exclude是用来排除隐藏文件
#!/bin/sh
ip="192.168.30.1 192.168.30.2"
src="/tmp/test"
inotifywait --exclude '/\.' -mrq -e close_write,delete,move $src | while read line
do
    sleep 1
    echo $line
    for i in $ip
    do 
        rsync --exclude=".*" -av --delete-after "$src/" -e ssh "$i:$src/"
    done
done
comments powered by Disqus
Table of Contents