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

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

如何设置Debian上Golang日志轮转

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

扫一扫,手机访问

在Debian系统上,做Golang应用的日志轮转其实没那么复杂——logrotate这个老牌工具就能搞定。下面直接上步骤,跟着走就行。

如何设置Debian上Golang日志轮转

  1. 先确认机器上有没有装logrotate,如果没有,两行命令搞定:
sudo apt-get update
sudo apt-get install logrotate
  1. 给Golang应用写一个单独的轮转规则文件。在应用目录里创建一个叫golang-logrotate.conf的文件,把下面这段贴进去,不过记得把路径换成你自己的日志目录:
/path/to/your/golang/app/logs/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 0640 root root
}

别看这一堆,解释起来很简单:

  • daily:每天轮转一次,你也可以改成weeklymonthly,看需求。
  • rotate 7:保留最近7个轮转后的日志文件,更早的会自动删除。
  • compress:轮转后的日志用gzip压缩,省空间。
  • missingok:日志文件如果暂时不存在,不会报错退出。
  • notifempty:空日志文件就不轮转了,免得生成一堆空压缩包。
  • create 0640 root root:轮转后自动创建新的日志文件,权限设为0640,属主和属组都是root。当然,你可以根据实际情况改成你应用运行的用户。
  1. 把这个配置文件挂到logrotate的主配置目录下。打开/etc/logrotate.d/golang文件(如果不存在就新建),写入一行:
include /path/to/your/golang/app/golang-logrotate.conf

注意路径要写对,logrotate会读取这个include指向的文件。

  1. 验证配置是否生效,跑一个强制轮转测试:
sudo logrotate -f /etc/logrotate.d/golang

如果没有报错,说明配置没问题。这时候去你的日志目录下看看,应该已经生成了轮转后的压缩文件。

之后的事就不用操心了——logrotate默认会每天自动执行一次,触发机制在/etc/cron.daily/logrotate里。你的Golang应用日志就会按照你设定的策略乖乖轮转,再也不用担心日志文件撑爆磁盘了。

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

热门关注