Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP Cron作业输出到日志文件而不是电子邮件_Php_Bash_Cron - Fatal编程技术网

将PHP Cron作业输出到日志文件而不是电子邮件

将PHP Cron作业输出到日志文件而不是电子邮件,php,bash,cron,Php,Bash,Cron,我喜欢通过电子邮件跟踪PHP脚本输出的事实,但是我有一些脚本每15分钟运行一次,所以这显然会导致电子邮件的大量涌入。我希望在包含php输出的日志文件夹中保持事情的有序性 这是我的cron工作: */15 * * * * /usr/bin/php public_html/mysite/folder/script.php 我试着换成 */15 * * * * /usr/bin/php public_html/mysite/folder/script.php >> /my

我喜欢通过电子邮件跟踪PHP脚本输出的事实,但是我有一些脚本每15分钟运行一次,所以这显然会导致电子邮件的大量涌入。我希望在包含php输出的日志文件夹中保持事情的有序性

这是我的cron工作:

*/15 *  *  *  *  /usr/bin/php public_html/mysite/folder/script.php
我试着换成

*/15 *  *  *  *  /usr/bin/php public_html/mysite/folder/script.php >> /mysite/logs/folder/$(date +"\%Y-\%m-\%d_\%H:\%M").log 2>&1
但我仍然通过电子邮件收到错误输出,其中包含错误

/usr/local/cpanel/bin/jailshell:/mysite/logs/folder/2017-04-08_10:27.log:没有这样的文件或目录

如何修复此问题,并将PHP输出保存到日志或txt文件中

编辑:

为便于将来参考,执行此操作的正确语法为:

*/15  *  *  *  *  public_html/mysite/folder/script.php >> mysite/logs/folder/$(date +"\%Y-\%m-\%d_\%H:\%M").log 2>&1

语法正确,请检查路径。您正在放置
/mysite
,但它真的在根上吗?当您参考您放入的脚本时,
public\u html/mysite


确保日志文件的绝对路径是什么,并更新crontab。

确保目录
/mysite/logs/folder/
存在。最好的方法是在终端中运行该命令,包括重定向和所有操作,然后再将其放入crontab.Awesome。一个简单的解决方案,让我的头朝各个方向旋转。我只需要从mysite中删除前面的
/
,它工作正常。请注意,cron通常在用户的主目录中运行,尽管这可能取决于实现。在您的情况下,我假设
mysite
位于用户的主目录中。我通常更喜欢使用绝对路径,以避免任何可能的混淆。检查crontab的工作目录的一个简单方法是在crontab中创建一行,如下所示:
***pwd>/tmp/pwd.txt
。您将在不到一分钟的时间内在pwd.txt文件中找到答案。记住从crontab中删除该行!