运行小脚本作为cron作业时出现问题

时间:2011-04-09 10:33:01

标签: php linux cron crontab

我在调度问题并通过cron作业运行脚本时遇到问题。我在linux(ubuntu)上,它是一个VPS。 我正在做的是我把这行放在crontab文件中:/ etc / crontab 我写道:

*/15 *    * * *   www-data  php /var/www/abs/phpscript.php

我已经将777给了该文件,在上面的crontab中写了之后,我运行了命令:

crontab crontab

然后差不多一段时间后,我收到了/ var / mail / username文件中的邮件:/ bin / sh:root:not found

所以我无法理解这是什么问题。

我也运行phpinfo并将第三个变量显示为APACHE,这可能意味着PHP作为apache模块运行。

请说明可能的解决方案。

事先感谢每一个试图解决我问题的人。

2 个答案:

答案 0 :(得分:4)

您也可以尝试使用“wget -q -O”

运行它

*/15 * * * * lynx -dump "url"  > /dev/null

Wget示例:

*/15 * * * * wget -O /dev/null 'http://www.mydomain.com/document.php?&user=myuser&password=mypass' >/dev/null

如果您需要发布数据,可以使用

- 后期数据“login = user& password = pass”

*/15 * * * * wget -O /dev/null 'http://www.mydomain.com/document.php?&user=myuser&password=mypass' --post-data 'foo=bar' >/dev/null

答案 1 :(得分:2)

如果您修改了/etc/crontab,则应重新阅读文件顶部的警告

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

crontab(1)文件上运行/etc/crontab可能会污染根用户的 crontab(5)文件(存储在/var/spool/cron/crontabs/中的文件)。我建议以root身份运行crontab -e 来编辑crontab文件,并删除与/etc/crontab中的条目相同的所有条目。 (也许您刚刚污染了自己的个人crontab(5) - 如果crontab -e以root用户身份没有显示任何内容,请在您自己的个人帐户下运行crontab -e,看看是否系统范围的条目被复制到您自己的crontab(5)。)

我不知道您运行的文件chmod 777,但这可能是不必要的。你真的应该将你的权限设置得尽可能严格,以限制恶意攻击或无意识错误的结果。