温馨提示×

debian如何清理日志

小樊
54
2026-09-01 02:03:06
栏目: 智能运维

在 Debian 系统中,日志通常由 rsyslog / syslog-ng、systemd-journald 或应用自身管理。下面按常见场景说明如何“清理日志”。


一、清理 systemd 日志(journal)

Debian 默认使用 systemd-journald 管理日志。

1. 查看日志占用

journalctl --disk-usage

2. 清理旧日志

# 清理 7 天前的日志
sudo journalctl --vacuum-time=7d

# 限制日志总大小为 500M
sudo journalctl --vacuum-size=500M

3. 永久限制日志大小(推荐)

编辑:

sudo nano /etc/systemd/journald.conf

修改或添加:

SystemMaxUse=500M
MaxRetentionSec=2week

然后重启:

sudo systemctl restart systemd-journald

二、清理 /var/log 下的传统日志

1. 查看日志大小

sudo du -sh /var/log/*

2. 手动清理(不推荐直接删)

例如:

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

⚠️ 不建议直接 rm,可能导致服务无法写入。


三、使用 logrotate(正确方式)

Debian 默认已配置 logrotate。

查看配置

cat /etc/logrotate.conf
ls /etc/logrotate.d/

手动执行一次

sudo logrotate -f /etc/logrotate.conf

四、清理 apt / 安装日志

sudo apt clean
sudo rm -rf /var/log/apt/*

五、清理 systemd 启动日志(可选)

sudo rm /var/log/boot.log

六、一键安全清理建议脚本(示例)

sudo journalctl --vacuum-time=7d
sudo logrotate -f /etc/logrotate.conf
sudo apt clean

七、注意事项

  • ✅ 优先用 journalctl --vacuum-*
  • ✅ 用 truncate 而非 rm
  • ❌ 不要删除正在写入的日志文件
  • ✅ 服务器建议保留至少 2–4 周日志

如果你愿意,可以告诉我:

  • 是 桌面还是服务器
  • 日志占用多大
  • 是否 Docker / 云服务器

我可以给你更精确的清理方案。

0 踩