#!/bin/bash/
#Funtion: 检测当前服务器的内存和cpu 是否达到要求
# 默认配置,有效内存需要超过10G,有效硬盘空间超过180G ,否则返回失败。
#Author: liusz
#Time: 2020/10/22
#mem-check
#最小内存大小G
min_memory_value=15
#最小有效内存大小G
min_memory_available=10
#disk-check
#最小硬盘资源大小G
#min_disk_value=200
#最小有效硬盘大小G
min_disk_available=180
server_available_mem=`free -g |awk 'NR==2' | awk '{print$7}'`
server_max_mem=`free -g|awk 'NR==2' |awk '{print$2}'`
echo "this server max_mem:${server_max_mem}GB availabe mem:${server_available_mem}GB"
#判断服务器的内存值小于约定的内存大小min_memory_value=15,就返回。否则成功。
if [ $server_max_mem -lt $min_memory_value ];then
echo "[warning]:this server the max mem too small:${server_max_mem}G,please add the memory to over ${min_memory_value}G !"
exit 3;
else
echo "check max memory:${server_max_mem}G is OK!"
fi
#判断服务器的内存值小于约定的内存大小min_memory_available=10,就返回。否则成功。
if [ $server_available_mem -lt $min_memory_available ];then
echo "[warning]:this server the available mem too small:${server_available_mem}G,please makesure the avaibale memory to over ${min_memory_available}G !"
exit 4
else
echo "check avaiable memory:${server_available_mem}G is OK!"
fi
#判断服务的根分区的硬盘大小是否超过预设的硬盘资源。成功继续,否则退出。
server_disk_available=`df -B G /|awk '/\//{print$4}' | awk '{sub(/.{1}$/,"")}1'`
if [ $server_disk_available -lt $min_disk_available ];then
echo "[warning]:this server the available disk too small:${server_disk_available}G,please makesure the available disk to over ${min_disk_available}G!"
exit 5
else
echo "check available disk:${server_disk_available}G is OK!"
fi