如何设置Debian上Golang日志轮转
在Debian系统上,使用logrotate工具对Golang应用日志进行轮转。创建配置文件,设置每天轮转、保留最近7份、压缩、权限0640等规则,挂载至/etc/logrotate.d目录,通过强制轮转验证配置生效,之后由系统定时任务自动执行。
在Debian系统上,做Golang应用的日志轮转其实没那么复杂——logrotate这个老牌工具就能搞定。下面直接上步骤,跟着走就行。

- 先确认机器上有没有装
logrotate,如果没有,两行命令搞定:
sudo apt-get update
sudo apt-get install logrotate
- 给Golang应用写一个单独的轮转规则文件。在应用目录里创建一个叫
golang-logrotate.conf的文件,把下面这段贴进去,不过记得把路径换成你自己的日志目录:
/path/to/your/golang/app/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 root root
}
别看这一堆,解释起来很简单:
daily:每天轮转一次,你也可以改成weekly或monthly,看需求。rotate 7:保留最近7个轮转后的日志文件,更早的会自动删除。compress:轮转后的日志用gzip压缩,省空间。missingok:日志文件如果暂时不存在,不会报错退出。notifempty:空日志文件就不轮转了,免得生成一堆空压缩包。create 0640 root root:轮转后自动创建新的日志文件,权限设为0640,属主和属组都是root。当然,你可以根据实际情况改成你应用运行的用户。
- 把这个配置文件挂到
logrotate的主配置目录下。打开/etc/logrotate.d/golang文件(如果不存在就新建),写入一行:
include /path/to/your/golang/app/golang-logrotate.conf
注意路径要写对,logrotate会读取这个include指向的文件。
- 验证配置是否生效,跑一个强制轮转测试:
sudo logrotate -f /etc/logrotate.d/golang
如果没有报错,说明配置没问题。这时候去你的日志目录下看看,应该已经生成了轮转后的压缩文件。
之后的事就不用操心了——logrotate默认会每天自动执行一次,触发机制在/etc/cron.daily/logrotate里。你的Golang应用日志就会按照你设定的策略乖乖轮转,再也不用担心日志文件撑爆磁盘了。
IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。
JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。
JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。
JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,
PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,
PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,













