手动执行脚本,在脚本里面输出变量到文件正常
但是换成 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 执行后面的参数都掉了?
1
FrankAdler 2022-06-16 20:59:27 +08:00 via iPhone
执行频率调高点试试
|
2
littlefan 2022-06-16 21:00:13 +08:00 1
脚本前增加一条 COLUMNS=9999 即可,指定控制台宽度
|
3
AnjingJingan OP @FrankAdler 执行频率已经是最高了,每分钟执行一次
|
4
AnjingJingan OP @littlefan 好像不行啊,一样的,不只是定时任务
除了手动执行,其他方式自动执行输出到日志都不全 |
5
littlefan 2022-06-16 21:23:21 +08:00
|
6
littlefan 2022-06-16 21:25:39 +08:00
|
7
AnjingJingan OP @littlefan 可行,问题解决了,感谢老哥
|