2013-04-15 75 views
1

我需要运行从crontab中的脚本,这有一个简单的服务器负载检查,看起来像这样:从crontab中执行的文件返回比命令行不同的结果

server_load=$(bash -c '/bin/more /proc/loadavg | 
       /usr/bin/cut -d" " -f1 | /usr/bin/cut -d"." -f1') 

如果我运行从命令脚本线我得到的服务器负载,如果我从crontab运行它我得到一个奇怪的和无用的结果。

我没有寻找类似问题但建议没有什么帖子帮我解决我的问题。

+1

为什么要用'上的/ proc/loadavg''more'?为什么不简单:'cut -f“”-f1/proc/loadavg | ...'?当其他标准I/O通道都不是终端时,“more”能正常工作(这是从cron运行时发生的情况)。 –

回答

1

即整个线可以简化为:

server_load=`cut -d. -f1 /proc/loadavg` 

我怀疑问题都与more想要一个终端并由此终端发射的控制序列。

+0

就是这样,谢谢! –

相关问题