我有一个针对 root 用户的 crontab:
9 17 * * * TERM=xterm /bin/bash /root/htop_stat.sh
htop_stat.sh
:
/usr/bin/echo q | /usr/bin/htop -C | /usr/bin/aha --line-fix | /usr/bin/html2text -width 999 | /usr/bin/grep --line-buffered -v "F1Help\|xml version=" > /tmp/htop.txt
如果我htop_stat.sh
以 root 身份手动运行,则效果很好。
然而,当上面的 cronjob 启动时,htop.txt 仅包含 htop 输出的前 23 行。
任何想法?
答案1
TERM=xterm
cron 命令不允许使用该前缀,它不是 shell 提示符。
将其作为单独的行放在 crontab 文件中:
TERM=xterm
9 17 * * * /bin/bash /root/htop_stat.sh
或将其包含在您的htop_stat.sh
.
man 5 crontab
详情请参阅。