发布于2026-07-08 阅读(0)
扫一扫,手机访问
在CentOS上打理Golang应用的日志轮转,logrotate绝对是最趁手的工具。下面按步骤来,每一步都有明确的操作为什么这么做。

logrotate先确认系统里有没有这家伙。大多数CentOS默认会装上,但万一没有,一条命令搞定:
sudo yum install logrotate
假设你的Golang应用把日志写在/var/log/myapp.log,这个路径后续配置要一致。
在/etc/logrotate.d/下放一个专属文件,比如叫myapp:
sudo nano /etc/logrotate.d/myapp
内容如下:
/var/log/myapp.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root root
}
每个选项都是干嘛的?
daily:每天转一次,够用。missingok:日志文件丢了也不报错,省心。rotate 7:保留最近7个轮转后的旧日志,多了自动删。compress:转完自动压缩成.gz,省磁盘。notifempty:日志是空的就不折腾,合理。create 640 root root:轮转后新建一个日志文件,权限640,属主和组都是root,安全。配置写好了,别急着等定时任务。手动强制跑一遍,看看有没有报错:
sudo logrotate -f /etc/logrotate.d/myapp
-f就是强制轮转,哪怕日志才刚写一行也照转。如果没报错,说明配置ok。
通常logrotate会有一个全局定时任务,每天执行一次。稳妥起见,可以在/etc/cron.daily/下建个脚本:
sudo nano /etc/cron.daily/logrotate
写入:
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
然后给执行权限:
sudo chmod +x /etc/cron.daily/logrotate
这样每天凌晨cron就会自动调用logrotate,根据你配置的频率(这里是每天)检查并轮转日志。
看看/var/log/目录,是不是多了myapp.log.1.gz之类的文件?有就说明轮转成功了。
至此,Golang应用的日志轮转就稳稳落地了。只要应用持续写日志,系统自动帮你按天切分、压缩、清理,再也不用担心磁盘被日志撑爆。
上一篇:CentOS中C++配置文件在哪
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8