发布于2026-06-30 阅读(0)
扫一扫,手机访问
在CentOS上跑Golang服务,时间一长,日志文件难免会像脱缰的野马一样疯长。如果不及时干预,磁盘空间告急只是时间问题。下面这套清理流程,算是运维中的基础操作,但细节上值得讲究一下——尤其是“怎么清、清完怎么管”这两步。

先找到日志的老窝
每个Golang应用对日志输出的配置都不一样。有的乖乖写在 /var/log/ 下,有的直接丢在应用的工作目录里。先搞清楚你的日志文件到底在哪儿,这是后续所有操作的前提。
停掉应用再动手(可选,但推荐)
如果正在往日志里写数据,你这边删着它那边写,容易出乱子。稳妥的做法是先停服:
sudo systemctl stop your-golang-app.service
把 your-golang-app.service 换成你实际的服务名就好。当然,如果你确认日志文件不会被持续写入,跳过这步也行。
顺手做个备份(可选,但建议别省)
日志这东西,平时看着嫌占地方,真要排查线上问题时又恨不得穿越回去找。所以清之前,最好留个底:
sudo cp /path/to/your/logfile.log /path/to/backup/logfile.log.bak
路径别抄错,大不了事后把备份删掉,也比到时候抓瞎强。
清理:删还是清?看场景
这里有两种方式,看你的需求选择:
sudo rm /path/to/your/logfile.log,干脆利落,但应用重启后会自动创建新文件。sudo truncate -s 0 /path/to/your/logfile.log,保留文件本身,把内容置零。某些对文件句柄敏感的场景更推荐后者。重新启动应用
如果之前停了服务,记得把它拉起来:
sudo systemctl start your-golang-app.service
一劳永逸:配置 logrotate
每次手动清显然不是长久之计。CentOS上自带的 logrotate 工具,就是专门干这个的。新建一个配置文件,比如 /etc/logrotate.d/your-golang-app,塞进下面这段:
/path/to/your/logfile.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root root
}
意思很直白:每天轮转一次,保留最近7天的日志,超过的自动压缩,空文件不处理,轮转后按指定权限新建文件。
配置好后,可以手动验证一下:
sudo logrotate -f /etc/logrotate.conf
确认没有报错,后续系统就会自动打理日志的“新陈代谢”了。
当然,每个Golang应用具体的日志路径、轮转周期、保留天数,还得根据实际业务和磁盘容量来微调。如果应用本身有日志管理接口,优先用应用自带的方案;没有的话,logrotate 这套组合拳足够应付绝大多数场景。操作前拿不准的地方,翻翻应用文档或者问清楚再动手,总不会错。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8