在 CentOS 上设置 Golang 日志轮转,你可以使用第三方日志库,如 logrotate 和 Lumberjack
- 首先,确保你已经安装了 logrotate。如果没有,请运行以下命令安装:
sudo yum install logrotate
- 创建一个新的 logrotate 配置文件,例如
/etc/logrotate.d/golang
。在这个文件中,我们将设置 Golang 日志文件的轮转规则。以下是一个示例配置:
/path/to/your/golang/logs/*.log { daily rotate 7 compress missingok notifempty create 0640 root adm }
这个配置表示:
- 每天轮转日志文件(
daily
) - 保留最近 7 天的日志文件(
rotate 7
) - 使用 gzip 压缩旧的日志文件(
compress
) - 如果日志文件丢失,不会产生错误(
missingok
) - 仅在日志文件非空时进行轮转(
notifempty
) - 以 0640 的权限创建新的日志文件,属于 root 用户和 adm 用户(
create 0640 root adm
)
-
将
/path/to/your/golang/logs/
替换为你的 Golang 日志文件所在的目录。 -
测试 logrotate 配置是否正确:
logrotate -d /etc/logrotate.d/golang
如果没有错误,那么你的 Golang 日志轮转设置已经完成。接下来,logrotate 会根据配置文件自动处理日志文件。