centos

centos系统日志如何查看与清理

小樊
44
2025-03-27 19:22:51
栏目: 智能运维

在CentOS系统中,查看和清理日志文件可以通过多种命令来实现。以下是详细的步骤和方法:

查看系统日志

  1. 使用 journalctl 命令

    • 查看所有日志:
      journalctl
      
    • 查看内核日志(不显示应用日志):
      journalctl -k
      
    • 查看系统本次启动的日志:
      journalctl -b
      
    • 查看上一次启动的日志:
      journalctl -b -1
      
    • 查看特定时间范围内的日志:
      journalctl --since "2023-03-27 00:00:00" --until "2023-03-28 00:00:00"
      
    • 查看特定服务的日志:
      journalctl -u 服务名
      
  2. 使用传统日志查看命令

    • 查看系统启动后的信息和错误日志:
      cat /var/log/messages
      
    • 查看与安全相关的日志信息:
      cat /var/log/secure
      
    • 查看与邮件相关的日志信息:
      cat /var/log/maillog
      
    • 查看与定时任务相关的日志信息:
      cat /var/log/cron
      
    • 查看与系统启动相关的日志:
      cat /var/log/boot.log
      
    • 查看系统审计日志:
      cat /var/log/audit/audit.log
      
    • 查看yum安装的软件包信息:
      cat /var/log/yum.log
      

清理系统日志

  1. 使用 journalctl 命令

    • 清理特定时间段的日志,如保留最近一周的日志:
      journalctl --vacuum-time=1w
      
    • 只保留500MB的日志:
      journalctl --vacuum-size=500M
      
    • 直接删除 /var/log/journal/ 目录下的日志文件(需谨慎使用):
      rm -rf /var/log/journal/*
      
  2. 手动删除日志文件

    • 删除 /var/log/ 目录下30天以前的日志文件:
      find /var/log -type f -name "*.log" -mtime +30 -exec rm {} \;
      
  3. 使用日志轮转工具 logrotate

    • logrotate 可以自动轮换日志文件,防止日志文件过大。可以创建或编辑 /etc/logrotate.d/rsyslog 文件,设置日志轮转规则。
  4. 定期执行清理脚本

    • 创建一个清理脚本 log_cleanup.sh
      #!/bin/bash
      find /var/log -type f -name "*.log" -mtime +30 -exec rm {} \;
      
    • 为脚本添加执行权限:
      chmod +x log_cleanup.sh
      
    • crontab 中添加定时任务来定期运行清理脚本:
      0 3 * * * /path/to/log_cleanup.sh
      

0
看了该问题的人还看了