商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > CentOS如何设置Golang日志轮转

CentOS如何设置Golang日志轮转

  发布于2026-07-08 阅读(0)

扫一扫,手机访问

在CentOS上打理Golang应用的日志轮转,logrotate绝对是最趁手的工具。下面按步骤来,每一步都有明确的操作为什么这么做。

CentOS如何设置Golang日志轮转

1. 安装logrotate

先确认系统里有没有这家伙。大多数CentOS默认会装上,但万一没有,一条命令搞定:

sudo yum install logrotate

2. 日志文件在哪

假设你的Golang应用把日志写在/var/log/myapp.log,这个路径后续配置要一致。

3. 写配置文件

/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,安全。

4. 先测试一下

配置写好了,别急着等定时任务。手动强制跑一遍,看看有没有报错:

sudo logrotate -f /etc/logrotate.d/myapp

-f就是强制轮转,哪怕日志才刚写一行也照转。如果没报错,说明配置ok。

5. 交给cron自动跑

通常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,根据你配置的频率(这里是每天)检查并轮转日志。

6. 验证效果

看看/var/log/目录,是不是多了myapp.log.1.gz之类的文件?有就说明轮转成功了。

至此,Golang应用的日志轮转就稳稳落地了。只要应用持续写日志,系统自动帮你按天切分、压缩、清理,再也不用担心磁盘被日志撑爆。

本文转载于:https://www.yisu.com/ask/97480750.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注