当前位置: > shell编程 >

Bash shell脚本练习

时间:2014-04-29 01:39来源:linux.it.net.cn 作者:IT网

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

 

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容