Linux服务器基础巡检脚本
检查CPU、内存、磁盘、网络连接、系统负载等基础指标,输出巡检报告
详细内容
#!/bin/bash
# ==========================================
# Linux服务器基础巡检脚本
# 用途:快速检查服务器基础运行状态
# 使用方法:bash server_check.sh
# ==========================================
echo "========== 服务器巡检报告 =========="
echo "巡检时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo "主机名: $(hostname)"
echo "系统: $(uname -a)"
echo ""
# CPU信息
echo "【1. CPU信息】"
echo " 型号: $(grep 'model name' /proc/cpuinfo | head -1 | cut -d: -f2 | sed 's/^ *//')"
echo " 核心数: $(grep 'processor' /proc/cpuinfo | wc -l)"
echo " 当前负载: $(uptime | awk -F'load average:' '{print $2}')"
echo ""
# 内存使用
echo "【2. 内存使用】"
free -h | awk 'NR==1{printf " %-10s %-10s %-10s %-10s\n",$1,$2,$3,$4} NR==2{printf " %-10s %-10s %-10s %-10s\n",$1,$2,$3,$4}'
echo ""
# 磁盘使用
echo "【3. 磁盘使用】"
df -h | grep -v tmpfs | grep -v devtmpfs | awk 'NR==1{printf " %-20s %-8s %-8s %-8s %-8s\n",$1,$2,$3,$4,$5} NR>1{printf " %-20s %-8s %-8s %-8s %-8s\n",$1,$2,$3,$4,$5}'
echo ""
# 检查磁盘使用率超过80%的分区
echo " ⚠️ 高使用率分区:"
HIGH_DISK=$(df -h | awk 'NR>1 && $5+0 > 80 {print $6" ("$5")"}')
if [ -z "$HIGH_DISK" ]; then
echo " 无(所有分区使用率低于80%)"
else
echo "$HIGH_DISK" | sed 's/^/ /'
fi
echo ""
# 网络连接
echo "【4. 网络连接】"
echo " 总连接数: $(ss -s | grep 'TCP:' | awk '{print $2}')"
echo " ESTABLISHED: $(ss -ant | grep -c ESTAB)"
echo " LISTEN端口: $(ss -tlnp | grep -c LISTEN)"
echo ""
# Top5进程(CPU)
echo "【5. CPU占用Top5进程】"
ps aux --sort=-%cpu | head -6 | awk 'NR==1{printf " %-10s %-6s %-6s %s\n",$1,$2,$3,$11} NR>1{printf " %-10s %-6s %-6s %s\n",$1,$2,$3,$11}'
echo ""
# Top5进程(内存)
echo "【6. 内存占用Top5进程】"
ps aux --sort=-%mem | head -6 | awk 'NR==1{printf " %-10s %-6s %-6s %s\n",$1,$2,$4,$11} NR>1{printf " %-10s %-6s %-6s %s\n",$1,$2,$4,$11}'
echo ""
# 系统运行时间
echo "【7. 系统运行时间】"
echo " $(uptime -p)"
echo ""
echo "========== 巡检完成 =========="
适配环境
适配系统:CentOS 7+,Ubuntu 18.04+,Debian 10+
依赖环境:bash 4.0+
参数说明
[]