shell脚本实现服务器巡检

直接放代码了,可以直接拿去用也可以用于shell学习

#!/bin/bash
#Result_file=/tmp/system_tmp/systeminfo.txt
#[ -f $Result_file ] || mkdir /tmp/system_tmp/
#> $Result_file


Disk_judge=75
Cpu_judge=`cat /proc/cpuinfo | grep "processor"| wc -l |awk '{print $1*"0.50"}'`
Mem_judge=0.80


Interval(){
if [ $1 = a ];then
echo "********************** $2 **********************"
elif [ $1 = b ];then
echo "-----------------------------"
else
echo "-----------------------------"
fi
}


Disk_check(){
Result="PASS"
Disk_use=`df -hP|grep -Ev 'Filesystem|tmpfs|boot'|awk '{print $5}'|xargs | sed 's/ /,/g'|sed 's/%//g'`
# 将Disk_use中的','变成空格,然后创建数组
array=(${Disk_use//\,/ })
for i in "${!array[@]}"; do
if [ ${array[i]} -gt $Disk_judge ]; then
Result=FAILED
fi
done

Interval a "DISK INFO"
echo "Disk_use:$Disk_use%"
df -h
Interval b
echo "Check_Result:$Result"
Interval b
}


Cpu_check(){
Result="PASS"
Load_average=`uptime|awk -F "average:" '{print$2}'`
array=(${Load_average//\,/})
for i in "${!array[@]}";do
compare=`awk -v num1=${array[i]} -v num2=$Cpu_judge 'BEGIN{print(num1>num2)?"0":"1"}'`
if [ $compare -eq 0 ];then
Result=FAILED
fi
done



Interval a "CPU INFO"
echo "load_average:$Load_average"
Interval b
echo "Check_Result:$Result"
Interval b
}


Mem_check(){
Result="PASS"
Mem_use=`free -m|grep Mem|awk '{printf ("%.2f\n",($2-$4-$6)/$2)}'`
compare=`awk -v num1=$Mem_use -v num2=$Mem_judge 'BEGIN{print(num1>num2)?"0":"1"}'`
if [ $compare -eq 0 ]; then
Result=FAILED
fi

Interval a "Memory INFO"
echo "Mem_use:$Mem_use"
free -m
Interval b
echo "Check_Result:$Result"
Interval b
}

Cpu_check
Disk_check
Mem_check

注意:文件从windows上传至linux系统,用vim -b查看文件,如果发现文件每行后面都有’’*M,直接用sed命令: sed -i ‘s/\r//g’

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值