dacheng 发表于 2014-02-07 07:30

使用cron定时执行失败!

计划每5分钟使用top -n 1命令一次,并使用awk保存到不同文件,以便统计cpu、内存和交换空间的使用情况。脚本如下:
#! /bin/sh
top -n1|awk '{if (NR==3) print >>"/tmp/cpu_state"}'
使用crontab -e设定如下:
*/5 * * * * /tmp/tongji.sh

发现在/tmp下根本没有cpu_state文件,但在shell下tongji.sh可以正常执行,输出结果也很正确。请教大家 ,这是什么原因?

zy407321952 发表于 2014-02-07 09:47

crontab 和shell执行的环境不一样,你可以去mail查看邮件,里面会有crontab执行的结果,top命令有点特殊,你的脚本可以改为
#!/bin/sh
top -bcn1|/bin/awk '{if (NR==3) print >>"/tmp/cpu_state"}'就可以运行

dacheng 发表于 2014-02-07 12:47

感谢,增加-b后,可以正常执行!真是另人印象深刻啊!

xuanguipk 发表于 2014-02-18 14:10

纸上得来终觉浅,绝知此事要躬行

wps352 发表于 2014-02-18 21:46

估计是环境变量的问题。

Ly_stu 发表于 2014-02-20 09:21

很强大,表示以前对这个参数还是未知的状态,
页: [1]
查看完整版本: 使用cron定时执行失败!