最高产量在cron缩小

Modified on: Mon, 15 Apr 2019 17:40:02 +0800

我正在尝试通过cron发送电子邮件,以了解哪些进程正在占用我的服务器。它工作正常但产生的电子邮件太窄,我需要了解更多有关该过程的信息。

这是我正在使用的脚本(从这里偷走它:http://www.inmotionhosting.com/support/website/server-usage/create-server-load-monitoring-bash-script):

#!/bin/bash trigger=10.00 load=`cat /proc/loadavg | awk '{print $1}'` response=`echo | awk -v T=$trigger -v L=$load 'BEGIN{if ( L > T){ print "greater"}}'` if [[ $response = "greater" ]] then top -cSbn 1 | head -14 | tail -8 | mail -s"High load on server - [ $load ]" myemail@domain.com fi

生成的电子邮件类似于:

#!/bin/bash
trigger=10.00
load=`cat /proc/loadavg | awk '{print $1}'`
response=`echo | awk -v T=$trigger -v L=$load 'BEGIN{if ( L > T){ print "greater"}}'`

if [[ $response = "greater" ]]
then
top -cSbn 1 | head -14 | tail -8 | mail -s"High load on server - [ $load ]" myemail@domain.com
fi

如您所见,整条路径都缺失了。
但是,如果我从bash运行脚本,它可以工作,发送足够广的电子邮件。

这是一个ncurses问题吗?管邮件问题?

谢谢!

作者:Sven,daigorocub

最佳答案

谢谢Sven,但我的输出顶部是:

# top -w
top: unknown argument 'w'

我猜你有更新的版本。
但是你向我发送了正确的方向(+1给你):我改变了我的脚本以导出列上的数字,现在我有完整的输出:

#!/bin/bash trigger=15.00 load=`cat /proc/loadavg | awk '{print $1}'` response=`echo | awk -v T=$trigger -v L=$load 'BEGIN{if ( L > T){ print "greater"}}'` if [[ $response = "greater" ]] then #sar -q | mail -s"High load on server - [ $load ]" recipient@YourDomain.com export COLUMNS=512 top -cSbn 1 | head -14 | tail -14 | mail -s"High load on server YODA - [ $load ]" quinhentos@queo.pt fi

作者:daigorocub

相关问答

添加新评论