温馨提示×

debian日志磁盘满如何清理

小樊
44
2026-09-10 01:56:05
栏目: 智能运维

在 Debian 系统中,如果 日志导致磁盘空间满了,可以按下面的思路和方法清理。


一、先确认是不是日志占满磁盘

df -h

查看哪个分区使用率 100%。

再看日志目录占用:

du -sh /var/log
du -sh /var/log/* | sort -h

二、常见日志清理方法

1. 清理 systemd 日志(journal)

Debian 默认使用 systemd-journald

查看 journal 占用

journalctl --disk-usage

清理旧日志

# 保留最近 7 天
journalctl --vacuum-time=7d

# 保留 500MB
journalctl --vacuum-size=500M

限制 journal 最大大小(推荐)

编辑:

sudo nano /etc/systemd/journald.conf

修改或添加:

SystemMaxUse=500M
MaxRetentionSec=7day

重启:

sudo systemctl restart systemd-journald

2. 删除或清空大日志文件

常见大文件:

/var/log/syslog
/var/log/auth.log
/var/log/kern.log

安全清空(不要直接 rm)

sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/auth.log

⚠️ 直接 rm 可能导致服务仍占用空间


3. 清理旧日志压缩包

Debian 通常会保留 .gz 历史日志:

ls /var/log/*.gz

删除旧压缩日志:

sudo rm -f /var/log/*.gz

或使用 logrotate 手动执行:

sudo logrotate -f /etc/logrotate.conf

4. 清理 apt 缓存(不是日志,但常一起清)

sudo apt clean
sudo apt autoclean

5. 查找异常大文件

sudo du -x -h / | sort -h | tail -20

三、防止再次被日志写满

1. 配置 logrotate

确保:

/etc/logrotate.d/

配置合理(size / rotate)

2. 限制服务日志级别

例如 nginx / docker / 应用日志过多时调整 level

3. 监控磁盘

apt install nagios-plugins-basic

或使用 df + cron 报警


四、紧急处理(磁盘 100% 无法操作)

如果连命令都报错:

# 删除一个正在写入的大日志
sudo find /var/log -type f -size +100M -exec truncate -s 0 {} \;

如果你愿意,可以贴一下:

df -h
du -sh /var/log/*

我可以帮你具体分析是哪一个日志在爆盘。

0