У меня есть несколько команд для моего проекта SF3.4, запущенного crontab.
У меня есть простой adddate.sh
скрипт, добавляющий дату и время перед каждой строкой сообщения:
while read x; do
echo -n `date +%Y-%m-%d\ %H:%M:%S`;
echo -n " ";
echo $x;
done
Запуск cron, как это:
* * * * * www-data bin/console the:command >> some.log 2>&1
Результат some.log
, когда команда выдает исключение:
12:12:25 ERROR [console] Error thrown while running command "the:command". Message: "lol" ["error" => Exception { …},"command" => "the:command","message" => "lol"] []
[Exception]
lol
Так что в этом случае все в порядке. Исключение зарегистрировано.
Запуск cron, как это (с adddate.sh
):
* * * * * www-data bin/console the:command | adddate.sh >> some.log 2>&1
Результат в some.log
при правильном выполнении:
2018-01-01 12:24:01 Result of console line1
2018-01-01 12:24:01 Result of console line2
Хорошо, это как и ожидалось! Но ...
Результат, когда команда выдает исключение: ничто ...
Буквально ничего. Даже не одна строка. Также нет ошибок в системном журнале cron. Почему добавление сценария "pipe" в результат команды останавливает запись сообщений об исключениях?