我的 crontab 没有生成日志特别的我用来监控网络的命令;其他命令运行良好。
* * * * * /usr/bin/COMMAND opt1 opt2 >> /home/pi/LOG.log 2>&1
日志文件已创建,但命令的输出未记录。在终端中运行命令和日志记录时,命令和日志记录工作正常。我尝试复制 cron 环境并手动运行命令:
我补充道crontab -e
:
* * * * * env > ~/cronenv
然后我运行:
env - `cat ~/cronenv` /bin/sh
/usr/bin/COMMAND opt1 opt2
COMMAND 输出与预期一致,但是当我尝试记录输出时,我得到的是空日志:
/usr/bin/COMMAND opt1 opt2 > /home/pi/LOG.log 2>&1
/usr/bin/COMMAND opt1 opt2 | tee /home/pi/LOG.log 2>&1
切换我的 shellcrontab -e
也SHELL=/bin/bash
没有任何效果。
不确定这是否相关,但我正在努力的命令需要几秒钟才能运行,当我在终端中运行它时,它会以彩色输出,格式有些花哨,Unicode 字符等,但它仍然可以正常记录。当我从cronenv
我创建的运行它时,它不会以彩色显示,但显示方式与我从终端将其保存到日志时的方式大致相同。
编辑:
这在我创建的环境中有效~/cronenv
,但是通过 cron 运行时日志已创建但是为空(与以前一样):
/usr/bin/unbuffer /usr/bin/COMMAND opt1 opt2 > /home/pi/LOG.log 2>&1