生成 Go Access 报告的 Cron 作业不起作用

Cron job for generate Go Access report not working

在我的根 crontab (sudo crontab -e) 中,我有这个工作来生成 Go Access 日志报告:

* * * * * goaccess /var/log/nginx/access.log -o /home/me/some/path/report.html

它工作得很好。我还有这份工作来生成跨越多天的报告:

* * * * * sudo zcat -f /var/log/nginx/access.log* | goaccess -o /home/me/some/path/bigger_report.html

Cron 说它 运行s 但它实际上似乎 运行。我环顾四周并尝试了很多方法(包括按照此处的列表 - ),但仍然无法将这份工作带到 运行。如果我自己 运行 命令,它会按预期生成文件。我也只尝试了管道之前的部分,输出到一个 txt 文件并且有效。所以我怀疑这是与 Go Access 的一些交互。

当我启用 cron 日志记录时,这就是该作业 运行s:

时显示的内容
(root) CMD (sudo zcat -f /var/log/nginx/access.log* | goaccess -o /home/me/some/path/bigger_report.html)

有什么指点吗?谢谢!

您需要让 goaccess 知道您正在使用 - 管道传输数据。例如,

* * * * * sudo zcat -f /var/log/nginx/access.log* | goaccess - -o /home/me/some/path/bigger_report.html