1、Inotify介紹:
一共安裝2個工具(命令),即inotifywait和inotifywatch
inotifywait:在被監控的文件或目錄上等待特定文件系統事件(open、close、delete等)發生,執行後處於阻塞狀態,適合在shell腳本中使用;
inotifywatch:收集被監視的文件系統使用度統計數據,指文件系統事件發生的次數統計shell
一、inotify配置
[root@nfs01 ~]#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
[root@nfs01 ~]#yum install inotify-tools -y
[root@nfs01 scripts]# vim inotify.sh
#!/bin/sh
/usr/bin/inotifywait -mrq --format '%w%f' -e create,close_write,delete /data |while read file
do
cd /data && \
rsync -avz ./ --delete backup@172.16.1.41::backup --password-file=/etc/rsync.password
>/dev/null
done
[root@nfs01 ~]# sh /server/scripts/inotify.sh & #後臺執行
[root@nfs01 scripts]# tail -1 /etc/rc.local #開機自啓動
/bin/sh /server/scripts/inotify.sh &vim
二、inotifywait經常使用選項
-m --monitor Keep listening for events forever. Without
this option, inotifywait will exit after one
event is received.
-d --daemon Same as --monitor, except run in the background
logging events to a file specified by --outfile.
Implies --syslog.
-r --recursive Watch directories recursively.
-e --event <event1> [ -e|--event <event2> ... ]
Listen for specific event(s). If omitted, all events are
listened for.
-q --quiet Print less (only print events)app
三、關鍵參數說明
在/proc/sys/fs/inotify目錄下有三個文件,對inotify機制有必定的限制
max_user_watches:設置inotifywait或inotifywatch命令能夠監視的文件數量(單進程)
max_user_instances:設置每一個用戶能夠運行的inotifywait或inotifywatch命令的進程數
max_queued_events:設置inotify實例事件(event)隊列可容納的事件數量less
2、sersync配置
[root@nfs01 tools]# unzip sersync_installdir_64bit.zip
[root@nfs01 tools]# mv sersync_installdir_64bit/sersync /application/
[root@nfs01 ~]# vim /application/sersync/conf/confxml.xml #編輯配置文件socket
[root@nfs01 /]# vimdiff /application/confxml.xml /application/bkconfxml.xml #文件比對
[root@nfs01 ~]# tail -1 /etc/rc.local
/application/sersync/bin/sersync -r -d -o /application/sersync/conf/confxml.xml
[root@nfs01 ~]# /application/sersync/bin/sersync -help
set the system param
execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches
execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events
parse the command param
_______________________________________________________
參數-d:啓用守護進程模式
參數-r:在監控前,將監控目錄與遠程主機用rsync命令推送一遍
c參數-n: 指定開啓守護線程的數量,默認爲10個
參數-o:指定配置文件,默認使用confxml.xml文件
參數-m:單獨啓用其餘模塊,使用 -m refreshCDN 開啓刷新CDN模塊
參數-m:單獨啓用其餘模塊,使用 -m socket 開啓socket模塊
參數-m:單獨啓用其餘模塊,使用 -m http 開啓http模塊
不加-m參數,則默認執行同步程序
________________________________________________________________工具