Incron 作业未执行

Kha*_*dal 2 cron incron fedora20

我正在使用 incron 来监视目录中的一个文件/var/www/html。的输出incrontab -l

/var/www/html/test IN_ACCESS /home/intel/test.sh
Run Code Online (Sandbox Code Playgroud)

该作业应该在主目录中创建一个文件,但是当执行该作业时(我在浏览器中打开了网址),没有创建文件,以下行是/var/log/cron文件中显示的内容

Jan 20 10:27:57 localhost incrond[26442]: (root) CMD (/home/intel/test.sh)
Run Code Online (Sandbox Code Playgroud)

这清楚地表明事件已经发生。

PS:如果我只是在 CLI 中运行,/home/intel/test.sh它可以正常工作并创建测试文件,以下是我的test.sh文件。

#!/bin/bash
touch fm00
Run Code Online (Sandbox Code Playgroud)

小智 5

大多数情况下,由于脚本文件权限和脚本文件所有权而导致出现此问题。我也面临着同样的问题。我发现我的票据所有者不是超级用户,例如root。

因此,您必须将您的凭证的权限和所有权设置为超级用户。找到下面。

首先以超级用户身份编辑你的 crontab。(在 RHEL 中如下所示)

[abc@host] crontab -e
Run Code Online (Sandbox Code Playgroud)

并保存 crontab :wq!

现在设置脚本的权限

[abc@host] chmod +x script.sh
[abc@host] chown root:root script.sh
Run Code Online (Sandbox Code Playgroud)

现在重新启动你的 crontab。(在 RHEL 中,如下所示)

[abc@host] /etc/init.d/crond restart
Run Code Online (Sandbox Code Playgroud)