使用logrotate管理Nginx日志文件

描述: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

使用Nginx搭建WEB服务器

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程

CentOS 6.3下Nginx性能调优

CentOS 6.3下配置Nginx加载ngx_pagespeed模块

CentOS 6.4安装配置Nginx+Pcre+php-fpm

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/34812862ff79f872555782b52be198ff.html