首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Centos主机检查脚本,已测试(建议收藏)

#!/bin/bash

# 设置颜色变量RED='\033[0;31m'GREEN='\033[0;32m'YELLOW='\033[0;33m'BLUE='\033[0;34m'NC='\033[0m' # 重置颜色

# 生成分隔线separator() {   echo -e "${BLUE}=======================================================${NC}"}

# 系统基本信息检查system_info() {   echo -e "\n${GREEN}>>> 系统基本信息检查${NC}"   separator   echo "主机名       : $(hostname)"   echo "操作系统版本 : $(cat /etc/redhat-release)"   echo "内核版本     : $(uname -r)"   echo "系统运行时间 : $(uptime | awk -F, '{print $1}')"}

# CPU检查cpu_check() {   echo -e "\n${GREEN}>>> CPU检查${NC}"   separator   echo "CPU型号      : $(lscpu | grep 'Model name' | cut -d':' -f2 | xargs)"   echo "物理核心数  : $(lscpu | grep 'Core(s)' | head -1 | awk '{print $4}')"   echo "逻辑核心数  : $(nproc)"   echo "当前负载    : $(uptime | awk -F 'average:' '{print $2}')"}

# 内存检查memory_check() {   echo -e "\n${GREEN}>>> 内存检查${NC}"   separator   free -h | awk '       /Mem/{           print "总内存     : " $2           print "已用内存   : " $3           print "可用内存   : " $7       }       /Swap/{           print "交换分区   : " $2           print "已用交换   : " $3       }'}

# 硬盘检查disk_check() {   echo -e "\n${GREEN}>>> 硬盘检查${NC}"   separator   df -h | awk '       BEGIN {           print "挂载点\t\t总大小\t已用\t可用\t使用率"       }       /^\/dev/ {           printf "%-15s %-6s %-6s %-6s %-4s\n", $6, $2, $3, $4, $5       }' | column -t}

# 网卡检查network_check() {   echo -e "\n${GREEN}>>> 网络接口检查${NC}"   separator   for interface in $(ip -o link show | awk -F': ' '{print $2}' | grep -v lo); do       echo "接口名称  : $interface"       echo "IP地址    : $(ip -o -4 addr show $interface | awk '{print $4}')"       echo "MAC地址   : $(ip link show $interface | awk '/link\/ether/ {print $2}')"       echo "连接速度  : $(ethtool $interface 2>/dev/null | grep Speed | awk '{print $2}')"       echo "连接状态  : $(ip link show $interface | grep -o 'state [A-Z]*' | awk '{print $2}')"       separator   done}

# 主函数main() {   clear   echo -e "\n${YELLOW}====== 开始系统检查 ======${NC}"

  system_info   cpu_check   memory_check   disk_check   network_check

  echo -e "\n${YELLOW}====== 检查完成 ======${NC}"}

# 执行主函数main

使用方法:

将脚本保存为 system_check.sh

添加执行权限:

chmod +x system_check.sh

执行脚本:

./system_check.sh

功能说明:

系统基本信息:显示主机名、操作系统版本、内核版本和运行时间

CPU信息:显示型号、物理核心数、逻辑核心数和当前负载

内存信息:显示总内存、已用内存、可用内存和交换分区状态

硬盘信息:显示所有挂载点的磁盘使用情况(自动过滤系统伪设备)

网络接口:显示所有物理网卡的IP、MAC地址、连接速度和状态

注意事项:

需要root权限获取完整的网络接口信息

网络速度检测依赖ethtool工具,如果未安装请执行:

yum install -y ethtool

通常是因为脚本文件中含有 Windows 风格的换行符(CR LF,即^M),而不是 Unix/Linux 系统所需的换行符(LF)。这通常发生在将 Windows 上的脚本文件直接传输到 Linux 系统上时。

sed -i 's/\r$//' system_check.sh

也可以使用 Notepad++ 或其他支持 Unix/Linux 样式的换行符的编辑器打开并保存该文件。在 Notepad++ 中,你可以通过以下步骤转换换行符:打开文件,点击顶部菜单的 “编辑” -> “EOL 转换” -> “UNIX/OSX 格式”

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O8oCkSbhsKn0REqZB_M_e8cw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券