搜索结果

×

搜索结果将在这里显示。

✨ 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)即可搜索
  • 实用巡检技巧

    1. 组合命令,精准分析:将多个命令通过管道符(|)组合,可以实现更强大的功能。例如,实时监控并高亮显示错误:

      tail -f /var/log/messages | grep --color=auto -i error

      或者,查看最近100行中关于“磁盘”的警告:

      tail -n 100 /var/log/messages | grep -i disk
    2. 关注关键事件/var/log/messages 记录了系统级的各种信息。巡检时,应特别关注以下几类事件:

      • OOM (Out of Memory) :内存不足,导致进程被杀死。
      • Kernel Panic:内核崩溃,系统致命错误。
      • Service Failures:关键服务(如网络、数据库)启动或运行失败。
      • Hardware Errors:硬件错误,如磁盘、内存、网卡等报错。
    3. 别忘了日志轮转:日志文件会不断增长,系统通过 logrotate 工具进行轮转(切割、压缩、删除旧日志)。如果发现日志没有更新,可以检查轮转配置:

      # 查看 messages 的轮转配置
      cat /etc/logrotate.d/syslog

      你也可以手动查看被压缩的历史日志:

      # 查看昨日的 messages 日志(.1 为最新备份)
      zless /var/log/messages-20260101
    4. 善用 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
发布时间: