发布于2026-07-05 阅读(0)
扫一扫,手机访问
在Debian上跑Golang应用,日志管理是个绕不开的环节。日志文件如果不加控制,很快就会把磁盘撑爆——这不是危言耸听,实际踩过坑的人都知道。好在系统自带的logrotate就能干净利落地解决这个问题,它负责自动压缩、清理、轮转日志,完全不需要你手动干涉。下面直接说怎么配置。

先确认系统里有没有logrotate。Debian默认一般会装,但万一没有,跑这两条命令就能搞定:
sudo apt-get update
sudo apt-get install logrotate然后到 /etc/logrotate.d/ 目录下给应用建个专属配置,比如叫 golang-app:
sudo nano /etc/logrotate.d/golang-app配置文件里写这些内容,注意按照实际路径修改:
/path/to/your/golang-app.log {
# 每天轮转一次
daily
# 保留最近7天的日志
rotate 7
# 压缩旧日志节省空间
compress
# 超过30天的日志直接删除
maxage 30
# 轮转后创建新日志文件,权限640,属主root,属组adm
create 640 root adm
# 轮转后向进程发信号,让应用重新打开日志文件(可选)
postrotate
if [ -f /var/run/golang-app.pid ]; then
kill -USR1 `cat /var/run/golang-app.pid`
fi
endscript
}两个关键路径要换成你自己的:日志文件路径 /path/to/your/golang-app.log 和PID文件路径 /var/run/golang-app.pid。如果应用本身支持USR1信号重载日志,这步就能实现无缝轮转;不支持的话,去掉postrotate段也行,大不了重启应用。
配置写完保存退出。最后一步,测试一下配置有没有语法错误:
sudo logrotate -f /etc/logrotate.d/golang-app如果没有任何报错,那就搞定了。logrotate会按设定每天自动干活,你只需要确保应用在轮转后能正确处理日志文件(比如重新打开或继续写入新文件)。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8