编辑:
我使用这个 cron 时得到了 406 错误页面!
这是 crontab(从 cPanel 复制):
* * * * * GET https://abc.com/cron/sendBulletinEmails.php >>
/home/abc/public_html/cron/logs/sendBulletinEmails.log
这是日志:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>406 Not Acceptable</title>
</head><body>
<h1>Not Acceptable</h1>
<p>An appropriate representation of the requested resource /cron/sendSurveyEmails.php could not be found on this server.</p>
<p>Additionally, a 404 Not Found
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>
这是我的 crontab:
* * * * * { cd /var/www/cron && /usr/bin/php -f sendQueuedEmails.php ;} | /usr/bin/logger -t sendQueuedEmails
我正在运行 ubuntu。
我没有看到任何日志:
/var/log/cron
/var/log/messages
/var/mysql/log
它会在哪里?
答案1
grep “CRON” /var/log/syslog
答案2
需要注意的是:A) 您没有重定向标准错误。因此,如果您的脚本崩溃,错误将不会出现在消息文件中。因此,请2>&1
在管道前放置一个。B) Cron 没有环境变量。您确定您的 php 脚本确实在运行吗?很有可能它正在阻塞,因此没有输出。尝试在您的登录脚本中进行以下操作: . /home/user/.bashrc
--Christopher Karel
答案3
它没有记录任何东西。在我的 cron 中使用 GET 之后(感谢这个答案),我将输出附加到日志文件,如下所示:
* * * * * GET http://localhost/cron/sendQueuedEmails.php >> /var/www/cron/logs/sendQueuedEmails.log