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) |