Как перенаправить stderr в файл в задании cron

у меня есть задание cron, которое настроено так в моем crontab:

*/1 * * * *  sudo /home/pi/coup/sensor.py  >> /home/pi/sensorLog.txt

Он помещает stdout в sensorLog.txt, и любой stderr, который он генерирует, помещается в электронную почту.

Я хочу, чтобы stdout и stderr вошли в sensorLog.txt, поэтому я добавил 1>&2 в crontab, который должен заставить stderr перейти в то же место, что и stdout. Теперь это выглядит так:

*/1 * * * *  sudo /home/pi/coup/sensor.py  >> /home/pi/sensorLog.txt 1>&2

Теперь оба stdout и stderr оба помещаются в электронную почту, и ничего не добавляется папка. Это противоположность тому, чего я пытаюсь достичь.

как получить stdout и stderr для перенаправления на файл?

1 ответов


это наоборот:

*/1 * * * *  sudo /home/pi/coup/sensor.py  >> /home/pi/sensorLog.txt 2>&1

2>&1 перенаправит стандартную ошибку (2) на стандартный вывод (1), который, в свою очередь, был перенаправлен в ваш файл журнала. Итак, в конце концов, как stderr, так и stdout пойдут на ваш sensorLog.txt