Crontab命令无法正常工作,尽管其格式与其他可执行的命令相同

时间:2015-01-20 12:24:13

标签: linux unix cron crontab vps

尝试使用Plesk将新的cronjob添加到我的服务器。我已经跑了两次,但是我设置它已经很久了,我不记得为什么我按照我的方式做了。他们完全按照自己的意愿工作。

*/13*   *   *   *   &> /dev/null php -q httpdocs/forum/notifyreply.php
*/9 *   *   *   *   &> /dev/null php -q httpdocs/forum/notifytopic.php

但是,当我使用相同的格式添加新作业时,似乎没有做任何事情。脚本没有运行,我没有收到任何电子邮件通知,告诉我脚本已运行。新工作如下:

*   *   *   *   *   &> /dev/null php -q httpdocs/crm/autoMessages/autoEmail.php

我在使用Apache的Linux虚拟服务器上运行这些并使用Plesk控制面板。托管服务提供商是123-Reg。

有人可以帮忙吗?

谢谢!

更新

所以我现在删除了/ dev / null行,以便收到电子邮件通知,并收到以下错误消息:

/bin/sh: php: Permission denied

我不明白为什么在这个命令上拒绝许可,而在其他两个命令上却没有...

2 个答案:

答案 0 :(得分:0)

不确定会发生什么,但我要做的第一件事就是检查新php脚本的权限是否与旧版本的权限相同。在ls -lhttpdocs/forum/notifyreply.php上执行httpdocs/forum/notifytopic.php,并将权限与httpdocs/crm/autoMessages/autoEmail.php的权限进行比较。

答案 1 :(得分:0)

您没有为cron命令设置用户/组,最好像这样做

*   *   *   *   * www-data www-data   php -q httpdocs/crm/autoMessages/autoEmail.php > /dev/null 2>&1

(假设www-data是正确的用户)

请注意,我将错误处理放在最后。 另外,我认为你应该使用完整的路径;你忘了添加斜杠(/ httpdocs / ....),还是在cron文件夹中有这个脚本?