CentOS系统的核心日志文件均集中存储在/var/log/
目录下,涵盖系统运行、安全认证、服务状态等多个类别。常见日志文件及用途如下:
/var/log/messages
:记录系统通用信息(如内核消息、服务启动/停止等),是排查系统整体问题的基础日志;/var/log/secure
:存储安全相关事件(如用户登录/注销、SSH认证、sudo使用记录等),是安全审计的关键依据;/var/log/boot.log
:记录系统启动过程中的日志信息(如内核加载、服务初始化等);/var/log/cron
:记录定时任务(cron)的执行情况(如任务启动、失败提示等);/var/log/maillog
:记录邮件服务(如Postfix、Sendmail)的收发日志;/var/log/dmesg
:记录内核环缓冲区信息(如硬件检测、驱动加载等),可通过dmesg
命令查看;/var/log/httpd/
//var/log/nginx/
:分别存储Apache、Nginx等Web服务的访问日志(access_log
)和错误日志(error_log
);/var/log/audit/audit.log
:记录系统安全审计事件(如文件访问、权限变更等),由auditd
服务生成。日志文件长期积累会占用大量磁盘空间,需定期清理。CentOS提供了以下几种常用方式:
journalctl
命令(Systemd系统专用)CentOS 7及以上版本默认使用systemd
作为初始化系统,其日志由journald
服务管理,可通过journalctl
命令清理:
journalctl --disk-usage
(例如显示“Archived and active journals take up 1.2G in the file system”);journalctl --vacuum-time=2weeks
;journalctl --vacuum-size=100M
;journalctl --vacuum-by service ssh.service
。若需彻底清理,可直接删除/var/log/
目录下的日志文件(需root权限):
sudo rm /var/log/messages
(谨慎操作,避免删除正在使用的日志);sudo rm -rf /var/log/*
(执行前需确认无重要日志需保留)。logrotate
工具(自动轮转与回收)logrotate
是CentOS默认的日志轮转工具,可自动压缩、删除旧日志,避免手动操作。
/etc/logrotate.conf
(定义默认轮转规则,如rotate 7
表示保留7个旧日志);/etc/logrotate.d/
目录下的文件(如/etc/logrotate.d/syslog
管理messages
、secure
等日志的轮转);/var/log/myapp.log
):/var/log/myapp.log {
daily # 每天轮转
rotate 7 # 保留7个旧日志
compress # 压缩旧日志(如myapp.log.1.gz)
delaycompress # 延迟压缩(下一次轮转时压缩上一次的旧日志)
missingok # 日志文件丢失时不报错
notifempty # 日志为空时不轮转
create 640 root adm # 创建新日志文件(权限640,属主root,属组adm)
}
sudo logrotate -f /etc/logrotate.conf
(强制立即轮转,即使未达到条件)。sudo cp -r /var/log /var/log_backup
),避免误删导致问题排查困难;logrotate
配置后,可通过sudo logrotate -d /etc/logrotate.d/your_config
测试配置是否正确(-d
表示调试模式,不实际执行);trash-cli
),需参考其文档查看回收日志的存储位置(通常不在系统日志目录中)。