执行 php 文件,然后邮件和日志输出

execute php file, then email and log output

我有一个 cron 作业我想执行一个 PHP 文件,然后获取输出和两个电子邮件并保存到日志文件。

我可以用它来发邮件:

/path/to/php /path/to/script.php | mail -s "script results" my@email.com

我可以用它保存到日志文件:

/path/to/php /path/to/script.php >> /path/to/logfile.log 2>&1

但这对我来说并不像我预期的那样有效:

/path/to/php /path/to/script.php | mail -s "script results" my@email.com >> /path/to/logfile.log 2>&1

似乎是通过电子邮件发送输出,但未写入日志文件。

我 运行 Ubuntu 16.04.

您要找的是tee命令。

你可以这样做

/path/to/php /path/to/script.php 2>&1 | tee -a /path/to/logfile.log | mail -s "script results" my@email.com

See more about tee