阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用logrotate管理Nginx日志文件

135次阅读
没有评论

共计 1355 个字符,预计需要花费 4 分钟才能阅读完成。

描述:Linux 日志文件如果不定期清理,会填满整个磁盘。这样会很危险,因此日志管理是系统管理员日常工作之一。我们可以使用 ”logrotate” 来管理 Linux 日志文件,它可以实现日志的自动滚动,日志归档等功能。下面以 Nginx 日志文件来讲解下 logrotate 的用法。

配置:
1、在 /etc/logrotate.d 目录下创建一个 nginx 的配置文件 ”nginx” 配置内容如下
#vim /etc/logrotate.d/nginx
/usr/local/nginx/logs/*.log {
daily
rotate 5
missingok
notifempty
sharedscripts
postrotate
  if [-f /usr/local/nginx/logs/nginx.pid]; then
      kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
  fi
endscript
}

保存退出。

2、执行 logrotate
#/usr/sbin/logrotate -f /etc/logrotate.d/nginx

在 /usr/local/nginx/logs 目录中会产生
error.log
error.log.1
说明 logrotate 配置成功。

3、让 logrotate 每天进行一次滚动, 在 crontab 中添加一行定时脚本。
#crontab -e
59 23 * * *  /usr/sbin/logrotate -f /etc/logrotate.d/nginx

每天 23 点 59 分进行日志滚动

4、配置文件说明
daily:日志文件每天进行滚动
rotate:保留最 5 次滚动的日志
notifempty:日志文件为空不进行滚动
sharedscripts:运行 postrotate 脚本
下面是一个脚本

postrotate
  if [-f /usr/local/nginx/logs/nginx.pid]; then
      kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
  fi
endscript

脚本让 nginx 重新生成日志文件。

Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里

相关阅读

CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计1355字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中