2013-04-15 100 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

就是這樣,謝謝! –

相關問題