shell编程服务器维护,简单监测服务器的shell脚本
搜索熱詞
1、編寫shell腳本如下:
#!/bin/bash
# chkconfig: 2345 10 90
# description:監(jiān)測(cè)linux服務(wù)器cpu、內(nèi)存、磁盤
#cpu平均負(fù)載閥值
cpu_AVERAGE_LOAD=0.7
#剩余的最少警告的閥值
MIN_WARNING=20
#超過最多警告的閥值
MAX_WARNING=90
#監(jiān)測(cè)cpu負(fù)載
monitor_cpu(){
#十五分鐘平均負(fù)載值
load_quarter=`uptime | awk '{print $NF}'`
#cpu內(nèi)核數(shù)
cpu_num=`grep -c 'model name' /proc/cpuinfo`
#cpu最大負(fù)載
cpu_load=${cpu_num}
#報(bào)警的負(fù)載閥值
warning=$(echo ${cpu_load} \* ${cpu_AVERAGE_LOAD}|bc)
if [ $(echo "${load_quarter} >= ${warning} "|bc) == 1 ]
then
#報(bào)警
warn 'cpu負(fù)載較大,請(qǐng)盡快處理'
fi
#監(jiān)測(cè)cpu空閑比
cpu_idle=`top -b -n 1 | grep cpu | awk '{print $8}' |cut -f 1 -d .`
if [ ${cpu_idle} -lt ${MIN_WARNING} ]
then
warn 'cpu占用較高請(qǐng)盡快處理'
fi
}
#監(jiān)測(cè)內(nèi)存
monitor_memory(){
#總的內(nèi)存
total=`free -m |grep 'Mem'|awk '{print $2}' `
#可用的內(nèi)存
available=`free -m |grep 'Mem'|awk '{print $NF}'`
#可用內(nèi)存所占比例
rate=$(echo "scale=2;${available} / ${total} * 100"|bc)
if [ $(echo "${rate} <= ${MIN_WARNING}"|bc) == 1 ]
then
warn '內(nèi)存占用較大,請(qǐng)盡快處理'
fi
#監(jiān)測(cè)Swap
swap_total=`free -m|grep 'Swap'|awk '{print$2}'`
swap_free=`free -m|grep 'Swap'|awk '{print$4}'`
if [ ${swap_total} -gt 0 ]
then
swap_rate=$(echo "scale=2;${$swap_free} / ${swap_total}"|bc)
if [ $(echo "${swap_rate} <= ${MIN_WARNING}"|bc) == 1 ]
then
warn '內(nèi)存Swap剩余較少,請(qǐng)盡快處理'
fi
fi
}
#監(jiān)測(cè)磁盤
monitor_disk(){
#過濾第一行
for i in `df -h |grep / |awk 'BEGIN {print 0} {print $5} END{print 0}'|cut -f 1 -d '%'`
do
if [ $(echo "${i} >= ${MAX_WARNING}"|bc) == 1 ]
then
warn '磁盤即將用完,請(qǐng)盡快處理'
break
fi
done
}
#報(bào)警,發(fā)送郵件
warn(){
#發(fā)郵件
printf "`date +%Y%m%d%H%M%S`: `/usr/local/PHP5/bin/PHP /var/www/html/tools/PHPmailer/wangyi.PHP ${1}` \n" >> /var/log/monitorlog 2>&1
}
#執(zhí)行方法
monitor_cpu
monitor_memory
monitor_disk
2、配置每小時(shí)執(zhí)行一次
0 */1 * * * /var/www/shell/monitor
總結(jié)
以上是編程之家為你收集整理的簡(jiǎn)單監(jiān)測(cè)服務(wù)器的shell腳本全部?jī)?nèi)容,希望文章能夠幫你解決簡(jiǎn)單監(jiān)測(cè)服務(wù)器的shell腳本所遇到的程序開發(fā)問題。
如果覺得編程之家網(wǎng)站內(nèi)容還不錯(cuò),歡迎將編程之家網(wǎng)站推薦給程序員好友。
本圖文內(nèi)容來源于網(wǎng)友網(wǎng)絡(luò)收集整理提供,作為學(xué)習(xí)參考使用,版權(quán)屬于原作者。
如您喜歡尋找一群志同道合、互幫互助的學(xué)習(xí)伙伴,可以點(diǎn)擊下方鏈接加入:
編程之家官方1群
編程之家官方2群
編程之家官方3群
編程之家官方4群
總結(jié)
以上是生活随笔為你收集整理的shell编程服务器维护,简单监测服务器的shell脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器设置为自动登录,Windows S
- 下一篇: 上传文件到服务器并显示,J2EE如何实现