✨ messages日志:cat|tail|less|grep|awk
-
Messages 日志日常巡检命令速查表
使用场景 命令示例 说明 实时/历史查看 tail -f /var/log/messages 实时跟踪最新日志,是排查进行中问题的首选。 - tail -n 100 /var/log/messages 查看最新的100条日志。 - less /var/log/messages 分页浏览大文件,支持上下翻页(j/k)和搜索(/)。 - cat /var/log/messages 查看全部内容,仅适合小文件,大文件会刷屏且消耗资源。 关键字过滤 grep -i error /var/log/messages 查找包含 "error" 的行(-i 忽略大小写)。 - grep -E "ERROR" WARNING" /var/log/messages - grep -v "INFO" /var/log/messages 排除所有包含 "INFO" 的行。 - grep -c "timeout" /var/log/messages 统计 "timeout" 出现的次数。 - grep sshd /var/log/messages 查找与 sshd 服务相关的日志。 高级文本处理 grep -B 3 -A 2 "panic" /var/log/messages 显示匹配行及前3行、后2行的上下文。 - awk '{print $1, $2, $3}' /var/log/messages 提取每行的前三个字段(通常是日期、时间、主机名)。 - grep "ERROR" /var/log/messages \ | wc -l统计 "ERROR" 出现的总行数。 -
核心命令详解与实战
-
tail :实时监控:这是最常用的命令。当怀疑系统有问题时,用它来观察实时日志输出,能第一时间看到错误。
# 实时监控 messages 日志 tail -f /var/log/messages # 查看最后 200 行日志 tail -n 200 /var/log/messages-
grep :精准定位:用于从海量日志中快速筛选出你需要的信息。
# 查找所有包含 "error" 的行(不区分大小写) grep -i error /var/log/messages # 查找今天所有的 "warning" 或 "critical" 日志 grep -E "warning|critical" /var/log/messages # 查找与 USB 设备相关的日志 grep -i usb /var/log/messages-
less :深度分析:当日志文件很大,需要上下翻看、搜索时,less 比cat高效得多。
# 分页查看日志 less /var/log/messages # 在 less 中,按下 / 键,然后输入关键词(如 error)即可搜索 -
-
实用巡检技巧
-
组合命令,精准分析:将多个命令通过管道符(
|)组合,可以实现更强大的功能。例如,实时监控并高亮显示错误:tail -f /var/log/messages | grep --color=auto -i error或者,查看最近100行中关于“磁盘”的警告:
tail -n 100 /var/log/messages | grep -i disk -
关注关键事件:
/var/log/messages记录了系统级的各种信息。巡检时,应特别关注以下几类事件:- OOM (Out of Memory) :内存不足,导致进程被杀死。
- Kernel Panic:内核崩溃,系统致命错误。
- Service Failures:关键服务(如网络、数据库)启动或运行失败。
- Hardware Errors:硬件错误,如磁盘、内存、网卡等报错。
-
别忘了日志轮转:日志文件会不断增长,系统通过
logrotate工具进行轮转(切割、压缩、删除旧日志)。如果发现日志没有更新,可以检查轮转配置:# 查看 messages 的轮转配置 cat /etc/logrotate.d/syslog你也可以手动查看被压缩的历史日志:
# 查看昨日的 messages 日志(.1 为最新备份) zless /var/log/messages-20260101 -
善用
journalctl:在 CentOS 7 / RHEL 7 及更新版本中,系统日志主要由systemd-journald 管理。虽然rsyslog 仍会将日志写入/var/log/messages,但使用journalctl命令查询往往更强大、更灵活。# 查看今天的所有日志 journalctl --since today # 查看某个特定服务的日志 journalctl -u sshd # 查看错误级别及以上的日志 journalctl -p err
-
掌握这些命令,可以让你更高效地对 /var/log/messages 进行日常巡检,快速发现并定位系统问题。
阅读:175
发布时间: