在 PHP 中,使用 crontab 时,默认情况下,脚本的输出(如标准输出和标准错误)将被发送到用户的邮件中
以下是如何使用 PHP 在 crontab 中处理输出重定向的方法:
my_cron_script.php
:<?php
// 在这里编写你的 PHP 代码
echo "Cron job executed successfully at: " . date('Y-m-d H:i:s') . PHP_EOL;
打开终端,输入 crontab -e
以编辑 crontab 文件。
在 crontab 文件中,添加一行以设置定时任务。例如,每天凌晨 1 点执行 my_cron_script.php
脚本,并将输出重定向到日志文件 cron_output.log
:
0 1 * * * /usr/bin/php /path/to/your/my_cron_script.php >> /path/to/your/cron_output.log 2>&1
这里,0 1 * * *
表示每天凌晨 1 点执行任务,/usr/bin/php
是 PHP 解释器的路径(根据你的系统可能有所不同),/path/to/your/my_cron_script.php
是你的 PHP 脚本的路径,>> /path/to/your/cron_output.log
表示将标准输出追加到日志文件中,2>&1
表示将标准错误重定向到标准输出。
现在,当定时任务执行时,脚本的输出将被追加到 cron_output.log
文件中,而不是发送到用户的邮件。你可以随时查看此日志文件以检查脚本的执行情况。