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










