前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LogRotate 切割 Nginx 日志

LogRotate 切割 Nginx 日志

作者头像
码农UP2U
发布2023-12-04 10:20:32
3450
发布2023-12-04 10:20:32
举报
文章被收录于专栏:码农UP2U码农UP2U

一直以来做日志切割都是使用 shell + crontab 来搞,shell 脚本可以在网上找到各种版本的,改改就用了,懒省事。这样的做法很传统,却忽略了系统的给我们提供的优秀的工具 —— logrotate。

一、Logrotate 是什么

Logrotate是一个非常实用的工具,主要用于自动轮转、压缩和删除旧的日志文件,帮助保持系统日志文件的清洁和有序。这不仅可以节省磁盘空间,还可以提高系统的性能。Logrotate能够根据日志文件的修改时间、大小等条件,对日志文件进行轮转、压缩或删除操作。通过使用Logrotate工具,您可以轻松地管理日志文件,确保系统的正常运行和安全性。

二、Logrotate 安装

在大多数CentOS系统中,Logrotate已经默认安装。如果没有安装,您可以使用以下命令进行安装:

代码语言:javascript
复制
yum install -y logrotate

三、Logrotate 配置Nginx 日志切割

要使用Logrotate对Nginx日志进行切割,您可以按照以下步骤进行配置:

  1. 打开文本编辑器,进入/etc/logrotate.d/nginx文件。默认情况下,该文件应该是空的。
  2. 在文件中添加以下内容:
代码语言:javascript
复制
/usr/local/nginx/logs/*.log { # 这里的路径是要进行切割日志的路径
           daily  # 按天进行切割         
           missingok # 如果没有日志文件,不报错继续处理下一个日志
           rotate 180 # 保留180个日志文件
           dateext # 按照日志文件名+年月日的格式保存
           nocompress # 不进行压缩,想压缩的话,使用 compress
           create 0640 root root # 权限 用户 组
           olddir /usr/local/nginx/logs/days # 切割后日志的存放路径
           sharedscripts # 这个很关键,增加这句,那么下面的命令在处理完所有日志后执行一次
                         # 如果没有这句,那么处理完一个日志,执行一次下面的命令
          postrotate
                  if [ -f /usr/local/nginx/logs/nginx.pid ]; then
                          kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
                  fi
          endscript
}
  1. 保存并关闭文件。现在,Logrotate将根据配置自动对Nginx日志进行切割。

经过编辑和保存后,您可以检查Nginx日志切割的配置是否正确。使用以下命令来检查配置:

代码语言:javascript
复制
logrotate -d /etc/logrotate.d/nginx

如果配置正确,您将看到一条消息显示配置文件解析成功,并且没有错误或警告。这意味着您的配置是正确的,并且Logrotate将在指定的时间自动执行日志切割操作。

如果您想测试一下配置的效果,可以使用以下命令手动强制执行一次日志切割操作:

代码语言:javascript
复制
logrotate -f /etc/logrotate.d/nginx

执行后,请检查配置目录下是否存在切割后的日志文件。如果配置正确且测试执行成功,您将在指定的目录下看到切割后的日志文件。

四、Logrotate 其他

如果您想查看logrotate执行的时间,可以查看/etc/anacrontab文件。

如果您想查看logrotate执行的状态,可以查看/var/lib/logrotate/logrotate.status文件。这个文件记录了logrotate最近一次执行的状态信息,包括哪些日志文件被轮转、轮转的时间和日志文件的大小等信息。您可以使用文本编辑器打开该文件,查看其中的内容以获取有关logrotate执行状态的信息。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农UP2U 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档