当前位置: 代码迷 >> 综合 >> linux 服务器用脚本检测内存和磁盘大小
  详细解决方案

linux 服务器用脚本检测内存和磁盘大小

热度:57   发布时间:2024-03-07 06:44:49.0

#!/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