Incron 在指定文件系统发生某些指定变化后运行指定程序,工作类似cron

# yum install -y incron
# systemctl enable incrond
# systemctl start incrond

相关文件

# rpm -ql incron-0.5.10-8.el7
/etc/incron.conf
/etc/incron.d
/usr/bin/incrontab
/usr/lib/systemd/system/incrond.service
/usr/sbin/incrond
/usr/share/doc/incron-0.5.10
/usr/share/doc/incron-0.5.10/CHANGELOG
/usr/share/doc/incron-0.5.10/COPYING
/usr/share/doc/incron-0.5.10/LICENSE-GPL
/usr/share/doc/incron-0.5.10/README
/usr/share/doc/incron-0.5.10/TODO
/usr/share/man/man1/incrontab.1.gz
/usr/share/man/man5/incron.conf.5.gz
/usr/share/man/man5/incrontab.5.gz
/usr/share/man/man8/incrond.8.gz
/var/spool/incron

10.2.1. incrontab - inotify cron table manipulator

incrontab用法语crontab极其类似。

配置触发事件,格式如下:

<path> <mask> <command>
[root@localhost ~]# incrontab -e
/etc IN_MODIFY /tmp/test.sh $@/$#          

查看触发事件

# incrontab -l
/etc IN_MODIFY /tmp/test.sh $@/$#

测试脚本

# cat /tmp/test.sh
#!/bin/bash
echo $@ >> /tmp/test.log

现在你可以修改/etc下面的文件,然后查看/tmp/test.log日志的变化。

10.2.2. 使用说明

10.2.2.1. mask 参数

IN_ACCESS           File was accessed (read) (*)
IN_ATTRIB           Metadata changed (permissions, timestamps, extended attributes, etc.) (*)
IN_CLOSE_WRITE      File opened for writing was closed (*)
IN_CLOSE_NOWRITE    File not opened for writing was closed (*)
IN_CREATE           File/directory created in watched directory (*)
IN_DELETE           File/directory deleted from watched directory (*)
IN_DELETE_SELF           Watched file/directory was itself deleted
IN_MODIFY           File was modified (*)
IN_MOVE_SELF        Watched file/directory was itself moved
IN_MOVED_FROM       File moved out of watched directory (*)
IN_MOVED_TO         File moved into watched directory (*)
IN_OPEN             File was opened (*)IN_ALL_EVENTS       all of the above events
IN_MOVE             a combination of IN_MOVED_FROM and IN_MOVED_TO
IN_CLOSE            combines IN_CLOSE_WRITE and IN_CLOSE_NOWRITE.IN_DONT_FOLLOW      Don't dereference pathname if it is a symbolic link
IN_ONESHOT          Monitor pathname for only one event
IN_ONLYDIR          Only watch pathname if it is a directory                

10.2.2.2. command 参数

$$   dollar sign
$@   watched filesystem path (see above)
$#   event-related file name
$%   event flags (textually)
$&   event flags (numerically)              

原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

10.2. Incron - cron-like daemon which handles filesystem events相关推荐

  1. 【Linux】常用命令:网络、内存、cron 超详细介绍

    文章目录 磁盘 挂盘 挂移动硬盘 查看磁盘大小 查看磁盘类型为SSD或SATA rsync代替rm快速删除文件 文件夹 文件 内存 关闭 swap cron 生效方式 法1 法2 格式 空行和注释 环 ...

  2. Linux学习笔记41——什么是 daemon 与服务 (service)

    在 Unix-Like 的系统中,你会常常听到 daemon 这个字眼!那么什么是传说中的 daemon呢?这些 daemon 放在什么地方?他的功能是什么?该如何启动这些 daemon ?又如何有效 ...

  3. linux02-自动部署、awk/sed/cron/cut/wc/uniq

    自动部署 boot.sh #!/bin/bash SERVERS="192.168.250.131 192.168.250.132" PASSWORD=root BASE_SERV ...

  4. 关于storm0.10.0版本的一个小bug

    最近搭建了一个storm环境,发现在提交一个topology之后,supervisor总是会无缘无故的死掉,日志如下 [2000] the maxSleepTimeMs [60000] the max ...

  5. 小白成长之路-linux定时任务cron和crontab

    Linux定时任务 一.为啥要学习定时任务 在我们现实生活中处处可以用到定时任务. 如: 亲爱的,2020年4月1号会上映一部动画片电影我们去看看啊. 明天上午老师要看论文了 我作业还没写,明天早上上 ...

  6. 以太坊源码分析(10)CMD深入分析

    ### cmd包分析 #### cmd下面总共有13个子包,除了util包之外,每个子包都有一个主函数,每个主函数的init方法中都定义了该主函数支持的命令,如 ##### geth包下面的: ``` ...

  7. C#/.NET 解析Cron表达式,根据Cron表达式获取最近执行时间

    Cron表达式定义及详情 请参考https://blog.csdn.net/HybridTheory_/article/details/88382442 使用C#解析Cron表达式,得到执行时间 cl ...

  8. 【高通SDM660平台 Android 10.0】(10) --- Camera Sensor lib 与 Kernel Camera Probe 代码分析

    [高通SDM660平台 Android 10.0]Camera Sensor lib 与 Kernel Camera Probe 代码分析 一.libmmcamera_imx258.so 代码分析 1 ...

  9. 【高通SDM660平台 Android 10.0】(12) --- Camera Chromatix 代码分析

    [高通SDM660平台 Android 10.0]Qcom Camera Daemon 代码分析 一.chromatix_imx258_lc898217xc 目录 1.1 例:imx258_lc898 ...

最新文章

  1. 22. 一个题来探查对 字符串,指针,数组三方面的关联使用方面的概念是否清晰,分析下面三个printf打印什么?...
  2. 从RocketMQ看长轮询(Long Polling)
  3. android系统可以破吗,你的手机系统破到什么程度?一键查安卓漏洞
  4. arcgis python教程视频_arcgispython教程
  5. php3.2.3 升级,thinkphp3.2.3 升级到3.2.4时出错问题
  6. mysql 建表语句 stored as_Druid 解析Hive建表语句解析报错
  7. NET平台4.0 发布网站流程及出错总结
  8. 昔年浅谈做害虫消杀防护的用什么推广效果好?
  9. 区分const,static,readonly,volatile四个关键字
  10. 2020年4月编程语言排行榜:少儿编程真有这么火吗?
  11. Win7 无法安装 VMware Tools
  12. python处理xps文件,从XPS文档中提取文本
  13. 数据流被提前关闭- connectionClosedException:premature end of chunk coded message body:closing chunk expected
  14. OSC 第 130 期高手问答 — 究竟什么才是微服务?_黄勇【摘选】
  15. English语法_副词 - ago / before / since
  16. 学习python的感受
  17. 360导航底部的效果html,jQuery仿360导航页图标拖动排序效果代码分享
  18. no-sql数据库之redis
  19. 微信直接用手机默认浏览器打开下载 IOS苹果跳转App Store(苹果商店)打开下载
  20. 数字孪生技术助力高炉数字化建设的可行性

热门文章

  1. 【SpringBoot】SpringBoot最精简的设置
  2. Angular开发实践(五):深入解析变化监测
  3. 良好的树结构设计会让开发更舒爽
  4. (8)Xwork容器概览
  5. Python怎么使用beautifulsoup来从HTML片段中删除标签
  6. python天气数据分析可视化_python可视化爬虫界面之天气查询
  7. 搞懂 mismatch dep signature
  8. Android开发学习之QQ好友列表的实现
  9. 安装cocos2D 2.1v 遇到的问题
  10. Yii --Command 任务处理