Сгенерированный файл в Crontab пуст

Мне нужна помощь с этим. Команда Artisan выполняется crontab для анализа файла журнала и создания отчета в формате HTML.

Вот строка кода в команде, которая выполняется crontab:

$today = date("d/M/Y");
exec('grep "$today" /path_to_logfile | goaccess -a > /path_of_generated_HTML_file');
exit();

К сожалению, файл, сгенерированный cron, пуст, но когда вы выполняете тот же код непосредственно в терминале, он успешно генерирует html-файл. Я ценю вашу помощь, ребята.

1 ответ

Это, скорее всего, потому что ваш PATH неправильно настроен при работе под crontab, Для большинства реализаций crontabВы можете просто указать PATH в первой строке файла crontab, открытого с crontab -e:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Вы также можете установить путь внутри PHP, если пожелаете:

<?php

putenv('PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin');

$today = date("d/M/Y");
exec('grep "$today" /path_to_logfile | goaccess -a > /path_of_generated_HTML_file');
exit;
Другие вопросы по тегам