所以我有一个脚本,我用一堆 echo 语句进行调试。这是由 cron 在我的服务器上每 3 分钟运行一次,有时我会将 echo 语句留在其中。他们不会去浏览器,他们只是去......任何地方?
我猜这是一个模糊的问题,但是当没有最终用户或 echo 语句的输出时会发生什么?它会占用内存吗?它会消失吗?对于理解这一点,我将不胜感激。
答案是肯定的,并且输出会邮寄到运行 cron 任务的帐户。您可以通过设置“MAILTO=accountname”选项在 crontab 文件中更改此设置,例如此示例 cron 文件:
MAILTO=root
# run a script every hour
01 * * * * root run-parts /etc/cron.hourly
#etc.
上述 cron 任务的任何输出都将被邮寄给 root 用户。正如 Mike B 所发布的,您还可以使用>
运算符简单地将输出重定向到任务行的其他位置:
01 * * * * php testscript.php > /var/log/logfile.log
在这种情况下,cron 看不到它并且不发送电子邮件。
底线是,如果您echo
在 PHP 脚本中留下一些语句并将其设置为 cron 作业,那么您将开始从 cron 守护程序接收电子邮件。
是的,它们被输出,但没有人特别输出(参见zombat 的答案,它已邮寄给 crontask 的所有者)。您可以通过以下方式将脚本的输出写入文件:
php myscript.php > /var/log/cronlog.log
(假设您使用的是 linux,因为您说的是 cron 而不是计划任务)