温馨提示×

如何清理centos日志以释放空间

小樊
40
2026-01-08 02:19:35
栏目: 云计算

要清理 CentOS 系统中的日志以释放空间,可以按照以下步骤进行操作。请注意,日志文件对于系统故障排查非常重要,因此建议定期清理而不是完全删除所有日志。

1. 查看日志文件大小

首先,查看哪些日志文件占用了大量空间:

du -sh /var/log/*

2. 清理特定日志文件

a. 清理 messages 日志

/var/log/messages 是一个常见的日志文件,可以使用 logrotate 工具来管理:

sudo logrotate /etc/logrotate.conf

或者手动清空日志(慎用):

sudo > /var/log/messages

b. 清理 secure 日志

sudo > /var/log/secure

c. 清理 boot.log

sudo > /var/log/boot.log

3. 使用 journalctl 清理 systemd 日志

CentOS 7 及以上版本使用 systemd,日志存储在 journalctl 中:

查看日志占用空间

journalctl --disk-usage

清理旧日志

可以删除旧的日志以释放空间:

sudo journalctl --vacuum-size=100M

这会保留最近的 100MB 日志。你也可以使用时间来清理:

sudo journalctl --vacuum-time=2weeks

这会删除两周前的日志。

4. 配置 logrotate

logrotate 是一个用于管理日志文件的工具,可以自动压缩和删除旧日志。编辑 /etc/logrotate.conf/etc/logrotate.d/ 下的配置文件,根据需要进行配置。

示例配置:

/var/log/*.log {
    daily
    missingok
    rotate 7
    compress
    notifempty
    create 640 root adm
}

这个配置表示每天轮转日志,保留最近 7 天的日志,并对旧日志进行压缩。

5. 定期清理

可以将这些清理命令添加到 cron 作业中,定期执行。例如,每天凌晨 3 点清理日志:

0 3 * * * root /usr/sbin/logrotate /etc/logrotate.conf

通过以上步骤,你可以有效地管理 CentOS 系统中的日志文件,释放磁盘空间。

0