linux 服务器日常巡检是围绕稳定性、性能和安全的常态化检查,核心是“看关键指标、查异常痕迹、验配置逻辑”,重点确认主机名与时间准确性、内核及发行版版本、负载与运行时长、dmesg 启动日志异常;深度核查内存 available 值、磁盘空间与 inode 使用、cpu 高占用进程、iostat i/ o 等待指标;闭环验证监听端口、用户登录审计、sudo 权限、文件系统只读状态及关键目录权限。

Linux 服务器日常巡检不是一次性的操作,而是围绕稳定性、性能和安全的常态化检查。核心是“看关键指标、查异常痕迹、验配置逻辑”,重点不在命令堆砌,而在理解每项检查背后的风险信号。
系统基础状态检查
先确认服务器是否在健康运行的基本面上:
- 主机与时间 :用
hostname和date确认主机名和系统时间是否准确;时间偏差过大会影响日志归档、证书校验、NTP 同步甚至分布式服务一致性 - 内核与发行版 :执行
uname -a查内核版本,cat /etc/os-release看操作系统类型及版本,避免长期停留在已停止维护的旧版本上 - 运行时长与负载 :
uptime输出中关注三个负载值(1/5/15 分钟),结合nproc得出 CPU 核心数,若 1 分钟负载持续高于核心数,说明存在资源争抢 - 启动日志异常 :
dmesg -T | tail -20快速扫视最近硬件或驱动报错,如“I/O error”、“failed to start”、“out of memory”都需立即跟进
资源使用深度核查
只看平均值容易漏掉突发问题,要分层验证:
- 内存真实压力 :
free -h中重点关注available列(非free),它反映真正可分配给新进程的内存量;再配合cat /proc/meminfo | grep -E "MemAvailable|SwapTotal|SwapFree"看交换区是否被频繁使用 - 磁盘空间与 inode:
df -h查各挂载点使用率,特别注意/var(日志)、/tmp(临时文件);同时运行df -i,即使空间充足,inode 耗尽也会导致无法创建新文件 - CPU 热点定位 :
top -b -n1 | head -20快照高占用进程;更准的方式是ps -eo pid,user,%cpu,%mem,comm --sort=-%cpu | head -n6,排除短时抖动干扰 - I/ O 等待预警 :
iostat -x 1 2中观察%util(接近 100% 表示设备饱和)、await(单次 IO 平均耗时,>10ms 需警惕)、avgqu-sz(队列长度,持续 > 1 说明请求积压)
服务与安全基线验证
很多故障源于配置漂移或权限松动,这部分必须人工确认逻辑:
- 监听端口闭环检查 :
ss -tuln(比 netstat 更快)列出所有监听端口,对照业务文档确认哪些该开、哪些不该开;对未预期端口,用ss -tulpn | grep : 端口号查归属进程 - 用户与登录审计 :
last -n 10查最近成功登录,lastb -n 5查失败尝试;awk -F: '$3 >= 1000 && $3 筛出普通用户,检查是否存在未知账户 - 关键服务状态 :对核心服务(如 sshd、nginx、数据库)执行
systemctl is-active和systemctl is-failed,双判断比单纯看“running”更可靠 - 防火墙规则有效性 :
iptables -L -n -v或firewall-cmd --list-all,重点确认 INPUT 链默认策略是否为 DROP,以及是否有冗余或冲突规则
自动化巡检脚本要点
手动巡检适合排查,日常监控必须靠脚本固化流程:
- 脚本开头务必设置完整
PATH,避免 cron 执行时因路径缺失导致命令找不到 - 检查结果应生成带时间戳的独立报告文件,例如:
server_inspection_$(date +%Y%m%d_%H%M%S).txt - 对关键阈值(如磁盘 >90%、内存 available
- 支持邮件自动投递(
mail -s " 巡检告警 " admin@xxx.com),但需提前配置好本地 MTA 或 SMTP relay - 定期清理历史报告,防止
/var/log下堆积过多小文件占满 inode






























