码迷,mamicode.com
首页 > 其他好文 > 详细

inotify+rsync的初步配置

时间:2017-05-23 13:13:42      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:one   用户创建   delete   backup   时间格式   参数   程序   xxx   orm   

inotify的简单配置 
Linux内核从2.6.13开始,引入了inotify机制。通过intofity机制,能够对文件系统的变化进行监控,如对文件进行创建、删除、修改等操作,可以及时通知应用程序进行相关事件的处理。这种响应处理机制,避免了频繁的文件轮询任务,提高了任务的处理效率。
一、查看inotify默认参数
sysctl -a|grep -e max_queued_events -e max_user_watches -e max_user_instances
二、修改inotify参数
1、命令修改sysctl -w xxx
2、文件修改

vim /etc/sysctl.conf #添加如下代码,数据按实际情况设置,此处为默认值

fs.inotify.max_user_instances = 128

fs.inotify.max_user_watches = 8192

fs.inotify.max_queued_events = 16384

fs.epoll.max_user_watches = 199864

 

 

3、参数说明 

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

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

max_user_watches:要知道同步的文件包含的目录数,可以用 find /data/ -type d|wc -l 统计,必须保证参数值大于统计结果。
三、创建实时监控脚本。
/usr/bin/inotifywait -mrq --timefmt %Y/%m/%d-%H:%M:%S --format %T %w %f -e modify,delete,create,move,attrib /data/ 

 

 1 #!/bin/bash
 2 
 3 inotify=/usr/bin/inotifywait
 4 
 5 $inotify -mrq --timefmt ‘%Y/%m/%d-%H:%M:%S‘ --format ‘%T %w %f -e create,close_write,delete /data/ | while read file
 6 
 7 do
 8 
 9   cd /data/ &&
10 
11   rsync -az ./ --delete flyme@192.168.1.237::backup --password-file=/etc/rsync.pass wd
12 
13 done

inotifywait常用参数:    

  1. --timefmt 时间格式    %y年 %m月 %d日 %H小时 %M分钟    
  2. --format 输出格式      %T时间 %w路径 %f文件名 
  3. -m 始终保持监听状态,默认触发事件即退出。    
  4. -r 递归查询目录    
  5. -q 打印出监控事件    

-e 定义监控的事件,可用参数:    

  1. open 打开文件    
  2. access 访问文件    
  3. modify 修改文件    
  4. delete 删除文件    
  5. create 新建文件    
  6. attrb  属性变更    
    
    
 
 
 
           
 
 
 

inotify+rsync的初步配置

标签:one   用户创建   delete   backup   时间格式   参数   程序   xxx   orm   

原文地址:http://www.cnblogs.com/naodong/p/6893497.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!