主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

8

听众

557

主题
发表于 2019-5-22 11:33:44 | 查看: 788| 回复: 0
在运行服务器时,自动化任务是相当常见的要求。Linux发行版提供了cron工具,允许在特定时间安排任务。cron的一个缺点是,可能管理员需要执行需要触发器的任务,而不仅仅是达到预先设置的时间。幸运的是,有许多用于调度任务的相关工具,其中之一是incron。Incron使用ino化系统检查文件和目录的修改,然后根据为其定义的一组规则触发任务。
安装Incron
对于许多Linux发行版来说,Incron本身是默认存储库,对于Debian和Ubuntu系统来说,安装非常简单:
sudo apt-get update
sudo apt-get install incron
对于CentOS和Red Hat Linux发行版,可以使用以下方式安装:
sudo yum install incron
与cron一样,每个用户都可以创建自己的incron表文件,他们可以配置这些文件来执行一些任务。管理员可以限制哪些用户可以在允许或拒绝系统下使用incron。如果文件 */etc/incron.allow*存在,那么只有该文件中列出的用户才能处理其incron文件。类似地,如果文件*/etc/incron.deny*存在,那么在文件中被列出的所有用户都可以处理他们的incron文件。
设置Incron
要设置incron表文件,用户可以使用incrontab命令,类似于使用普通crontab命令。例如,编辑incron表文件可以通过以下命令来完成:
incrontab -e
该文件由以下格式的行组成,这些行设置了incron应该遵循的规则:
《path》 《mask》 《command》
该行从一条路径开始。这应该是要监控的文件或目录的完整路径。如果管理员为监控设置了一个目录,那么只监控该目录中的文件,而不监控子目录中的文件。因此,需要为任何还需要监控的子目录设置额外的规则。当incron检测到它需要响应的受监控文件或目录中的更改时,该行以应该运行的命令结束。在这两者之间,有一个定义incron运行命令应该发生什么类型事件的掩码。
以下是可以使用的有效掩码列表:
IN_ACCESS:访问过的文件(读取)(+)
IN_ATTRIB:已更改的元数据(权限、时间戳、扩展属性等)(+)
IN_CLOSE_WRITE:以写入方式打开的被关闭的文件(+)
IN_CLOSE_NOWRITE: 以只读方式打开的被关闭的文件(+)
IN_CREATE:在监控目录中创建的文件或目录(+)
IN_DELETE:从监控目录(+)中删除的文件或目录(+)
IN_DELETE_SELF:已被删除的监控文件或目录。
IN_MODIFY:被修改的文件(+)
IN_MOVE_SELF:被移动的监控文件或目录
IN_MOVED_FROM:从监控目录移出的文件(+)
IN_MOVED_TO:移动到“监控目录”的文件(+)。
IN_OPEN:打开过的文件(+)
IN_ALL_EVENTS:与上述所有条件都匹配的文件
标记为加号(+)的掩码选项对于被监控的目录和包含的文件和目录都是有效的。Incron还能够将一些信息传递给被调用的命令,以便命令对其采取行动。下面的符号代码可以作为参数放置在命令路径中:
$$:美元符号
$@:监控的文件系统路径
$#:事件相关文件名
$%:事件标志(以文本形式)
$&:事件标志(以数字表示)
这些符号代码意味着管理员可以编写脚本,可以动态响应触发incron的事件。
由于已经介绍了incron的用途,现在来看看在服务器环境中如何使用incron的一些示例:
/etc/php/7.0/apache2/php.ini IN_MODIFY /usr/sbin/service apache2 restart
这个例子是为Debian或者Ubuntu系统设计的,它会指示incron调用Apache网络服务器在对PHP配置文件进行修改时重新启动。
/var/run IN_MODIFY /home/myuser/myscript $# $%
这里有另一个示例,它监控/var/run目录中在进程重新启动时可能发生的更改。然后它将在/home/myuser/myscript中调用该脚本,并将更改的文件名的参数和触发该脚本的标志传递给它。这可以用于创建一个常规的监控脚本,以在正在运行的进程发生更改时向发出警报。
Incron可以为使用传统的基于时间的cron或类似工具难以实现的任务调度提供很大的灵活性。因此,在自动化和调度任务时要记住这一点。

该会员没有填写今日想说内容.

收藏回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-5-3 21:55 , Processed in 0.072075 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表