我读到计划任务。我通过运行对其进行了编辑crontab -e
,并添加了以下行:* * * * * php /var/www/createFile.php
运行时,ls /tmp/
我没有看到我的 php 脚本创建的任何文件。为什么它不起作用?
当我运行时php /var/www/createFile.php
,它工作正常,但是(效果是在/tmp/
我将命令更改为:
/usr/bin/php /var/www/createFile.php > /tmp/createFile.log 2>&1
作为乔斯建议如下。当我运行时,cat /tmp/createFile.log
我得到了这个:
python can not open file 'createfile.py': [Errno 2] No such file or directory
我使用完整路径创建文件.py正如乔斯建议我的那样创建文件.php现在我收到此错误:
sh: nmap not found
0sh: nmap not found
答案1
确保 调用的脚本cron
以及它们调用的后续脚本使用引用文件的完整路径。由所有者运行时运行良好,但由 执行时失败的脚本cron
几乎总是存在此类引用错误。
此外,为了找出cron
作业失败的原因,请查看系统日志;如果cron
作业需要将输出写入sysout
,它将尝试将其邮寄给用户(如果sysout
尚未重定向)。 也是如此syserr
。