Bash shell脚本练习,bashshell脚本"fifi判断cpu


1.判断磁盘使用空间


df -h | grep -v File | sed 's/%//g' | awk '{if($5>80)print"使用空间超过了80%:", $6}'

#!/bin/bash

#Filename: disk.sh

#Date: 20110322

DISK_warn=80

DISK_per=`df -h | grep -v Filesystem| awk '{print int($5)}'`

for i in $DISK_per

do

if [ "$i" -gt "$DISK_warn" ]; then

partion=`df -h | grep "$i%"|awk '{print $6}'`

echo "已使用空间超过80%: $partion"

fi

done


判断磁盘使用百分比是否超过设定值,这里可以修改为通过邮件报警


2.监控CPU的负载情况


#!/bin/bash

#Filename: cpu_load.sh

#Date: 20120322

LOAD_15=$(uptime | awk '{print $NF}')

CPU_num=$(grep -c 'model name' /proc/cpuinfo)

LOAD_avg=`echo "scale=2;a=$LOAD_15/$CPU_num;if(length(a)==scale(a))print 0;print a"|bc`

INT_avg=`echo $LOAD_avg |cut -f 1 -d "."`

LOAD_warn=0.70

if (($INT_avg > 0)); then

echo "当前服务器15分钟的平均负载为$LOAD_avg,超过警戒值1.0,请立即处理"

else

LOAD_now=`expr $LOAD_avg > $LOAD_warn`

if (($LOAD_now == 1)); then

echo "当前服务器15分钟的平均负载为$LOAD_avg,超过警戒值0.70,请及时处理。"

fi

fi


判断cpu负载情况,就否超出设定值。


3.监控SWAP使用情况


#!/bin/bash

#Filename: swap.sh

#Date: 20120322

TOTAL=$(free -m | grep "Swap:" | awk '{print $2}')

USED=$(FREE=$(free -m | grep "Swap:" | awk '{print $3}'))

FREE=$(free -m | grep "Swap:" | awk '{print $4}')

SWAP_per=$(expr $FREE * 100 / $TOTAL)

SWAP_warn=50

if [ $SWAP_per -lt $SWAP_warn ]; then

echo "当前服务器SWAP空间可用为:$FREE M,剩余不足50%."

fi


判断swap使用百分比是否超过设定值,这里可以修改为通过邮件报警


4.使用curl判断网站是否能正常访问


#!/bin/bash

#Filename: web.sh

#Date: 20110322

url=${1?"请输入检测的url地址"}

Status=$(curl -s --head $url | awk '/HTTP/{print $2}')

[ -z $Status ] && Status=400

if [ "$Status" -eq 200 ]; then

echo "$url能正常访问"

else

echo "$url不能访问,请检查!"

fi


相关内容

    暂无相关文章