编辑
2024-11-21
脚本备份
00
请注意,本文编写于 541 天前,最后修改于 541 天前,其中某些信息可能已经过时。

此脚本检测服务器的CPU型号、核心数、内存大小与硬盘大小

SHELL
#!/bin/bash # 检测是否安装了 dmidecode if ! command -v dmidecode &> /dev/null; then echo "dmidecode 未安装,正在尝试更新软件仓库缓存并安装..." if [ -f /etc/redhat-release ]; then sudo dnf install -y dmidecode || sudo yum install -y dmidecode elif [ -f /etc/debian_version ]; then sudo apt-get -y update && sudo apt-get install -y dmidecode else echo "不支持的系统类型,请手动安装 dmidecode" exit 1 fi echo "dmidecode 已成功安装" fi # 检测 Linux 系统类型和发行版 os_type=$(uname -o) os_release="Unknown" arch=$(uname -m) if [ -f /etc/os-release ]; then . /etc/os-release os_release="$NAME $VERSION_ID" elif [ -f /etc/lsb-release ]; then os_release=$(grep DISTRIB_DESCRIPTION /etc/lsb-release | cut -d= -f2- | tr -d '"') elif [ -f /etc/redhat-release ]; then os_release=$(cat /etc/redhat-release) fi # 将架构标准化为 32bit 或 64bit if [ "$arch" == "x86_64" ]; then arch="64bit" else arch="32bit" fi echo "系统类型: $os_type" echo "发行版: $os_release $arch" # 检测 CPU 型号 cpu_model=$(grep -m 1 "model name" /proc/cpuinfo | awk -F: '{print $2}' | sed 's/^[ \t]*//') echo "CPU型号: $cpu_model" # 检测 CPU 核心数 cpu_cores=$(grep -c "^processor" /proc/cpuinfo) echo "CPU核心数: $cpu_cores" # 使用 dmidecode 获取内存设备信息 memory_info=$(dmidecode | grep -A16 "Memory Device$") # 检测内存条数 memory_count=$(echo "$memory_info" | grep "Size:" | grep -v "No Module Installed" | wc -l) # 检测内存总数 (GB) memory_total=$(echo "$memory_info" | grep "Size:" | grep -Eo '[0-9]+ GB|[0-9]+ MB' | awk '{ if ($2 == "GB") sum += $1 * 1024; else if ($2 == "MB") sum += $1; } END {print sum/1024}') # 输出内存信息 echo "内存条数: $memory_count" echo "内存总数: ${memory_total}GB" # 检测硬盘数量和型号/容量 disk_info=$(lsblk -d -o NAME,MODEL,SIZE | grep -E '^sd|^vd|^nvme') disk_count=$(echo "$disk_info" | wc -l) # 输出硬盘信息 echo "硬盘数量: $disk_count" echo "硬盘型号和容量:" echo "$disk_info" # 输出结果 echo "检测完成"