如何将 stderr 重定向到 cron 作业中的文件
How to redirect stderr to a file in a cron job
我的 crontab 中有一个这样设置的 cron 作业:
*/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 * * * * sudo /home/pi/coup/sensor.py >> /home/pi/sensorLog.txt 2>&1
2>&1
会将标准错误 (2) 重定向到标准输出 (1),而标准输出 (1) 又会重定向到您的日志文件。所以,最后,stderr 和 stdout 都会转到你的 sensorLog.txt
我的 crontab 中有一个这样设置的 cron 作业:
*/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 * * * * sudo /home/pi/coup/sensor.py >> /home/pi/sensorLog.txt 2>&1
2>&1
会将标准错误 (2) 重定向到标准输出 (1),而标准输出 (1) 又会重定向到您的日志文件。所以,最后,stderr 和 stdout 都会转到你的 sensorLog.txt