Linux 运维常见故障排查与处理 33 个技巧汇总 - 夜莺博客

Linux 运维常见故障排查与处理 33 个技巧汇总

Linux 运维中 80% 的故障都是重复出现的:脚本不执行、登录慢、磁盘被日志撑爆、定时任务异常。把这些高频问题的特征和解决办法沉淀成速查清单,是运维工程师效率提升最快的方式。本文汇总了 33 个来自一线项目的 Linux 常见故障排查与处理技巧,覆盖脚本、定时任务、网络、存储、数据库等场景,遇到问题时可以直接对照定位。

脚本与定时任务高频问题

shell 脚本报 ": bad interpreter" 不执行

几乎都是因为在 Windows 下编辑脚本后上传,换行符变成了
。解决:在 Linux 下重写,或用 vi 去掉回车符::%s/
//g
(^M 用 Ctrl+V, Ctrl+M 输入)。排错时可用 sh -x 脚本名 单步执行并回显结果。

crontab 输出撑爆 /var/spool/clientmqueue

cron 中执行的程序有输出时,系统会以邮件形式发给用户,而 sendmail 未启动导致文件堆积,日积月累可达 100G+。解决:直接删除 ls | xargs rm -f;彻底解决是在定时任务后加 >/dev/null 2>&1

网络与登录类问题

  • telnet/ssh 登录很慢:优先检查 DNS 反向解析——客户端 IP 无法反解时服务端会等待超时,关闭或配置好反解即可。
  • 代理服务器过滤规则不生效:依次检查功能模块是否加载、默认策略是否正确、iptables 语法是否有误、规则顺序是否需要调整。
  • 能访问 Internet 但不能访问 DMZ 区服务:先关闭 iptables 验证,能通说明是规则问题,集中检查过滤规则配置与顺序。

存储与数据库类问题

  • MySQL ibdata1 数据太大:只能通过 dump 导出建库 SQL 再重建的方式回收空间。
  • mysql-binlog 太大:手动清理用 PURGE MASTER LOGS TO 'mysql-bin.010';;或在 my.cnf 设置 expire_logs_days=30 自动清理。
  • 磁盘被日志填满:用 du -sh /* | sort -rh 定位大目录,配置 logrotate 轮转。

系统安装与硬件类问题

安装时找不到硬盘——进 BIOS 把硬盘设置为兼容模式;分区完成后无法继续安装——通常忘记创建根分区或 swap 交换分区。这类"初始状态"问题在装机自动化时最容易被忽略。

使用建议

这份清单的价值在于"先查表、再动手":遇到故障先对照特征找到对应条目,再按步骤验证,避免凭感觉乱试。配合 Linux 运维高阶命令实战指南Linux 性能排障工具与命令 可以覆盖更完整的排查场景,时间同步类问题参考 Chrony 时间同步排障

原文链接:https://blog.csdn.net/u011001084/article/details/79419721