nginx 日志分割的脚本
时间: 2023-05-23 20:07:37 浏览: 184
shell脚本实现nginx日志分割
A:nginx 日志分割的脚本可以使用 logrotate 工具来实现,该工具可以定期对日志文件进行分割和压缩,防止日志文件过大影响系统性能。下面是一个基本的 logrotate 配置文件示例:
```
/path/to/nginx/logs/*.log {
daily
rotate 7
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
/usr/sbin/nginx -s reopen
endscript
}
```
该配置文件指定了需要被分割的日志文件路径和扩展名。"daily" 参数表示每天执行一次分割,"rotate 7" 参数表示保存最近 7 天的日志文件。"missingok" 和 "notifempty" 参数分别表示如果日志文件不存在或者为空,不报错。"compress" 和 "delaycompress" 参数表示分割后的日志文件进行压缩,"sharedscripts" 参数表示执行 postrotate 脚本时,只执行一次。
在 postrotate 脚本中,需要重新启动 nginx 以刷新日志文件。
logrotate 工具默认在 /etc/logrotate.d/ 目录下查找日志配置文件,因此将以上配置保存在 /etc/logrotate.d/nginx 文件中即可生效。可以使用 logrotate -d 命令测试配置文件是否正确,使用 logrotate -f 命令强制执行日志分割。
阅读全文