Настройка:
В моем экземпляре gcp vm у меня есть следующие задания cron:
*/2 * * * * /usr/bin/php /var/www/cron/mycron.php init >> /var/log/myjob 2>&1
mycron.php
имеет простую функцию
if (!empty($argv[1])) {
switch ($argv[1]){
case 'init':
cron_test();
break;
}
}
function cron_test() {
$time = date(DATE_RFC822, time());
write_log("Start:" . $time); //outputs debug to my own log file
};
Однако я не получил никакого ответа, и мне нужен был способ просмотреть журнал ошибок:
Что я сделал:
Итак, в /etc/rsyslog.conf
, я удалил #
в cron.* /var/log/cron.log
, чтобы получить журнал.
В cron.log
я получил следующий журнал:
(CRON) info (No MTA installed, discarding output)` earlier).
Итак, я установил sudo apt-get install postfix
и выбрал no configuration
.
Теперь я получаю следующее ...
mysite CRON[31304]: (mysite) CMD (/usr/bin/php /var/www/cron/mycron.php init >> /var/log/myjob 2>&1)
mysite CRON[31305]: (mysite) MAIL (mailed 64 bytes of output but got status 0x004b from MTA#012)
Что я пытаюсь выяснить:
Я вижу, что cronjob запущен, но фактическая функция, которую я хочу запустить, - нет.Я пытаюсь просмотреть ошибку (или вывод) в файле журнала вместо получения электронного письма об этом.
Что можно сделать, чтобы получить фактическую ошибку или вывод журнала в файл вместо электронной почты?
Любая помощь будет высоко ценится!