Linux incron命令:当文件或目录更改时执行任务

incron和cron命令类似。

cron的触发条件是时间,在定义好的时间执行某项任务;incron的触发条件是目录/文件,当文件或目录更改时执行某个命令,这里的更改包括创建、修改文件、权限更改等等。

安装incron

以Ubuntu为例,执行:

使用incron

incron在设计理念上也和cron极为类似,cron使用crontab命令管理cronjob,incron使用incrontab命令。

查看incrontab的帮助文档:

默认下,root用户不能使用incron,如执行:

man文档里有说明:

If /etc/incron.allow exists only users listed here may use incron. Otherwise if /etc/incron.deny exists only users NOT listed here may use incron. If none of these files exists everyone is allowed to use incron.

root用户要想使用incron,需要删除/etc/incron.allow文件(不安全):

或者在incron.allow文件中添加root用户(建议):

添加一行:

再次执行:


创建incron任务:

在添加incron任务之前,你需要知道它的语法:

Screenshot from 2016-04-16 15-11-57

Screenshot from 2016-04-16 15-12-26

下面,以一个实际的应用做例子:

有时我们需要修改apache的配置文件,但是要使新配置生效,需要重启apache服务。这时可以使用incron监控apache的配置文件/etc/apache2/apache2.conf、/etc/apache2/sites-available/,当配置文件被修改后触发重启apache的命令。

添加行:

列出所有定义的任务:

删除当前用户的所有任务:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注