在 Debian 上清理 Nginx 日志,常见做法有几种,下面按「安全程度」和「常用程度」给你说明。
Debian 默认已经为 Nginx 配置了 logrotate,一般不需要手动清。
cat /etc/logrotate.d/nginx
典型内容类似:
/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}
logrotate -f /etc/logrotate.d/nginx
✅ 优点
如果你只是想立刻释放空间:
> /var/log/nginx/access.log
> /var/log/nginx/error.log
或:
truncate -s 0 /var/log/nginx/access.log
✅ Nginx 仍在写同一个文件,不会报错。
rm /var/log/nginx/access.log
⚠️ 问题:
如果已经删了:
nginx -s reload
access_log off;
error_log /var/log/nginx/error.log warn;
rm /var/log/nginx/access.log.*
rm /var/log/nginx/error.log.*
du -sh /var/log/nginx/*
| 场景 | 做法 |
|---|---|
| 日常维护 | logrotate |
| 立刻释放空间 | truncate |
| 长期不想要日志 | access_log off |
如果你愿意,我可以帮你优化 Nginx 日志大小或写定时清理脚本。