在 Debian 系统中,日志通常由 rsyslog / syslog、journald(systemd journal) 或具体服务自身产生。下面按常见场景说明如何安全清空日志内容。
journalctl --disk-usage
sudo journalctl --vacuum-time=1s
# 或
sudo rm -rf /var/log/journal/*
⚠️ 删除
/var/log/journal/*后,需重启 journald:
sudo systemctl restart systemd-journald
sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/auth.log
sudo find /var/log -type f -exec truncate -s 0 {} \;
✅ 使用
truncate不会破坏日志文件权限和服务写入
如果你想“自动清理”而不是手动删:
sudo logrotate -f /etc/logrotate.conf
sudo truncate -s 0 /var/log/nginx/access.log
sudo truncate -s 0 /var/log/nginx/error.log
sudo sh -c 'truncate -s 0 /var/lib/docker/containers/*/*-json.log'
rm /var/log/syslog
可能导致服务无法继续写日志,需要重启 rsyslog
sudo systemctl stop rsyslog
sudo systemctl disable rsyslog
如果你能说明:
我可以给你更精确的命令。