centos 定时任务执行脚本,输出到文件的内容会自动省略

2022-06-16 20:05:50 +08:00
 AnjingJingan

手动执行脚本,在脚本里面输出变量到文件正常

但是换成 crontab 调度执行,脚本输出到文件的内容会自动省略一些

代码

IN=`echo "$LINE" | tr -s ' '`
PID=`echo $IN | cut -d ' ' -f1 `
CMD="`echo $IN | cut -d ' ' -f12 ` ` echo $IN | cut -d ' ' -f13` ` echo $IN | cut -d ' ' -f14`"
CPU=`echo $IN | cut -d ' ' -f9 `
MEM=`echo $IN | cut -d ' ' -f10 `

echo "${PID}|${CMD}|${CPU}|${MEM}" >> /tmp/push-top-tmp.log

手动执行文件结果:

./push-top.sh


crontab 调度执行的结果:

* * * * * /push-top.sh


在脚本里面加过 source /etc/profile ,无效

在定时任务前加过 source /etc/profile && /push-top.sh ,无效


一模一样的脚本,都是用 root 账户执行,为什么 crontab 执行后面的参数都掉了?

1202 次点击
所在节点    程序员
7 条回复
FrankAdler
2022-06-16 20:59:27 +08:00
执行频率调高点试试
littlefan
2022-06-16 21:00:13 +08:00
脚本前增加一条 COLUMNS=9999 即可,指定控制台宽度
AnjingJingan
2022-06-16 21:12:41 +08:00
@FrankAdler 执行频率已经是最高了,每分钟执行一次
AnjingJingan
2022-06-16 21:21:44 +08:00
@littlefan 好像不行啊,一样的,不只是定时任务
除了手动执行,其他方式自动执行输出到日志都不全
littlefan
2022-06-16 21:23:21 +08:00
@AnjingJingan crontab 配置成这样:
* * * * * COLUMNS=9999 push-top.sh
littlefan
2022-06-16 21:25:39 +08:00
AnjingJingan
2022-06-16 21:31:26 +08:00
@littlefan 可行,问题解决了,感谢老哥

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/860125

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX