Welcome 微信登录

首页 / 操作系统 / Linux / 获取服务器信息的Shell脚本分享(ubuntu、centos测试通过)

此脚本已经在ubuntu以及centos版本上测试通过,脚本如下:
复制代码 代码如下:
#!/bin/bash
Line="==========="
#linux发行版名称
if [[ -f /usr/bin/lsb_release ]]; then
OS=$(/usr/bin/lsb_release -a |grep Description |awk -F : "{print $2}" |sed "s/^[ ]*//g")
else
OS=$(cat /etc/issue |sed -n "1p")
fi
echo -e "${Line} OS: ${OS} ${Line}"
######################################################################################################
#查看系统是否为64位:uname -m,若出现x86_64,则为64位
OS_version=$(uname -m)
echo -e "OS_version: ${OS_version} ${Line}"

#系统内核版本
kernel_version=$(uname -r)
echo -e "Kernel_version: ${kernel_version} ${Line}"
#cpu型号
CPU=$(grep "model name" /proc/cpuinfo |uniq |awk -F : "{print $2}" |sed "s/^[ ]*//g" |sed "s/ +/ /g")
echo -e "CPU model: ${CPU} ${Line}"
#物理cpu个数
Counts=$(grep "physical id" /proc/cpuinfo |sort |uniq |wc -l)
echo -e "Total of physical CPU: ${Counts} ${Line}"
#物理cpu内核数
Cores=$(grep "cpu cores" /proc/cpuinfo |uniq |awk -F : "{print $2}" |sed "s/^[ ]*//g")
echo -e "Number of CPU cores ${Cores} ${Line}"
#逻辑cpu个数
PROCESSOR=$(grep "processor" /proc/cpuinfo |sort |uniq |wc -l)
echo -e "Number of logical CPUs: ${PROCESSOR} ${Line}"
#查看CPU当前运行模式是64位还是32位
Mode=$(getconf LONG_BIT)
echo -e "Present Mode Of CPU: ${Mode} ${Line}"

#查看CPU是否支持64位技术:grep "flags" /proc/cpuinfo,若flags信息中包含lm字段,则支持64位
Numbers=$(grep "lm" /proc/cpuinfo |wc -l)
if (( ${Numbers} > 0)); then lm=64
else lm=32
fi
echo -e "Support Mode Of CPU: ${lm} ${Line}"
######################################################################
#Memtotal 内存总大小
Total=$(cat /proc/meminfo |grep "MemTotal" |awk -F : "{print $2}" |sed "s/^[ ]*//g")
echo -e "Total Memory: ${Total} ${Line}"
#系统支持最大内存
Max_Capacity=$(dmidecode -t memory -q |grep "Maximum Capacity" |awk -F : "{print $2}" |sed "s/^[ ]*//g")
echo -e "Maxinum Memory Capacity: ${Max_Capacity} ${Line}"
#查看内存类型、频率、条数、最大支持内存等信息:dmidecode -t memory,或dmidecode | grep -A16 "Memory Device$"
#下面为统计内存条数
Number=$(dmidecode | grep -A16 "Memory Device$" |grep Size|sort |sed "s/^[ ]*//g"| grep -v "No Module Installed" | wc -l)
echo -e "Number of Physical Memory: ${Number} ${Line}"

#SwapTotal swap分区总大小
SwapTotal=$(cat /proc/meminfo |grep "SwapTotal" |awk -F : "{print $2}" |sed "s/^[ ]*//g")
echo -e "Total Swap: ${SwapTotal} ${Line}"
#Buffers size
Buffers=$(cat /proc/meminfo |grep "Buffers" |awk -F : "{print $2}" |sed "s/^[ ]*//g")
echo -e "Buffers: ${Buffers} ${Line}"
#Cached size
Cached=$(cat /proc/meminfo |grep "<Cached>" |awk -F : "{print $2}" |sed "s/^[ ]*//g")
echo -e "Cached: ${Cached} ${Line}"
#空闲内存 + buffers/cache
Available=$(free -m |grep - |awk -F : "{print $2}" |awk "{print $2}")
echo -e "Available Memory: ${Available} MB ${Line}"
#显示硬盘,以及大小
Disk=$(fdisk -l |grep "Disk" |awk -F , "{print $1}" | sed "s/Disk identifier.*//g" | sed "/^$/d")
echo -e "Amount Of Disks: ${Disk} ${Line}"
#各挂载分区使用情况
Partion=$(df -hlP |sed -n "2,$p")
echo -e "Usage Of partions: ${Partion} ${Line}"

----------------------------------------------------------------------------------------
测试结果展示:
复制代码 代码如下:
===========
OS:
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
===========
OS_version:
i686
===========
Kernel_version:
2.6.18-238.el5
===========
CPU model:
AMD A6-3400M APU with Radeon(tm) HD Graphics
===========
Total of physical CPU:
2
===========
Number of CPU cores
2
===========
Number of logical CPUs:
4
===========
Present Mode Of CPU:
32
===========
Support Mode Of CPU:
64
===========
Total Memory:
514744 kB
===========
Maxinum Memory Capacity:
1024 GB
===========
Number of Physical Memory:
1
===========
Total Swap:
1044216 kB
===========
Buffers:
101936 kB
===========
Cached:
267356 kB
===========
Available Memory:
369 MB
===========
Amount Of Disks:
Disk /dev/sda: 107.3 GB
===========
Usage Of partions:
/dev/sda3 96G 4.6G 87G 6% /
/dev/sda1 99M 12M 83M 13% /boot
tmpfs 252M 0 252M 0% /dev/shm
/dev/hdc 3.0G 3.0G 0 100% /media/RHEL_5.6 i386 DVD
===========