我正在使用incron监视/var/www/html
目录中的一个文件。
输出incrontab -l
/var/www/html/test IN_ACCESS /home/intel/test.sh
这个工作应该在主目录中创建一个文件,但是当这个工作被执行时(我在浏览器中打开了网址),没有创建文件,后面的行显示在/var/log/cron
文件中
Jan 20 10:27:57 localhost incrond[26442]: (root) CMD (/home/intel/test.sh)
这清楚地表明事件已经发生。
PS:如果我只是在CLI中运行/home/intel/test.sh
,它可以正常工作并创建测试文件,以下是我的 test.sh 文件。
#!/bin/bash
touch fm00
答案 0 :(得分:3)
主要是由于脚本文件权限和脚本文件的所有权而发生此问题。我面临同样的问题。我发现我的脚本所有者不是超级用户,例如根
因此,您必须将您的脚本的权限和所有权设置为超级用户。在下面找到。
首先以超级用户身份编辑您的crontab。(在RHEL中如下)
[abc@host] crontab -e
并保存crontab:wq!
现在设置脚本
的权限[abc@host] chmod +x script.sh
[abc@host] chown root:root script.sh
现在重新启动你的crontab。(在RHEL中如下)
[abc@host] /etc/init.d/crond restart