nginx日志切割简介

原创 2013年12月03日 00:29:40

1、简介

     nginx日志如果你不及时处理,日志文件将变得越来越大,为此可以写一个nginx日志切割脚本来自动切割日志文件。


2、方法

    脚本如下:

    #!/bin/bash
    #设置日志文件存放目录
    logs_path="/usr/local/nginx/logs/"
    #设置pid文件
    pid_path="/var/run/nginx.pid"
    #重命名日志文件
    mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log
    #向nginx主进程发信号重新打开日志
    kill -USR1 `cat ${pid_path}`

    第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志。在你未重新打开原名字的日志文件前,nginx还是会向你重命名的文件写日志,linux是靠文件描述符而不是文件名定位文件。
    第二步向nginx主进程发送USR1信号。
nginx主进程接到信号后会从配置文件中读取日志文件名称,重新打开日志文件(以配置文件中的日志名称命名),并以工作进程的用户作为日志文件的所有者。
    重新打开日志文件后,nginx主进程会关闭重名的日志文件并通知工作进程使用新打开的日志文件。
    工作进程立刻打开新的日志文件并关闭重名名的日志文件。
    然后你就可以处理旧的日志文件了。


参考文献:http://www.nginx.cn/255.html

Nginx实战(三) 日志配置与切割

访问日志主要记录客户端访问Nginx的每一个请求,格式可以自定义。通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息。 Nginx中访问日志相关指令主要有两条,...
  • u012486840
  • u012486840
  • 2016年10月11日 13:31
  • 5209

Nginx日志切割之Logrotate篇

Nginx日志切割之Logrotate篇知识管理部 孙磊      Logrotate是Linux下一款日志管理工具,可用于日志文件的转储(即删除旧日志文件,创建新日志文件)。可以根据日志大小或...
  • forthemyth
  • forthemyth
  • 2015年03月04日 17:00
  • 7753

Nginx运行日志自动切割

所谓自动分割Nginx日志文件,就是指Rotate Nginx log files,即让Nginx每天(或每个星期,可自定义控制)生成一个日志文件,而不是将Nginx所有的运行日志都放置在一个文件...
  • wangkai_123456
  • wangkai_123456
  • 2017年05月01日 16:57
  • 4120

Linux下nginx日志自动切割

linux平台下nginx日志的自动切割
  • allus0918
  • allus0918
  • 2016年01月07日 17:52
  • 1240

nginx按小时切割日志

有的日志比较大,一天的日志就有200g一台机器,如果按天切割日志,文件太大了,需要按小时切割日志。下面讲述一个按小时切割日志的方法,通过apache的cronolog来完成日志的切割。 1、...
  • zyj8170
  • zyj8170
  • 2016年06月06日 17:25
  • 1620

nginx 日志文件切割

偶然发现access.log有21G大,所以将其切割。 Nginx 是一个非常轻量的 Web 服务器,体积小、性能高、速度快等诸多优点。但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不...
  • lifuxiangcaohui
  • lifuxiangcaohui
  • 2015年11月17日 18:46
  • 2376

nginx日志自动分割的完美实现

大家都知道,Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,因它的稳定性、丰富的功能集、示例配置文件和低系统资...
  • zbfaaadjl
  • zbfaaadjl
  • 2014年01月25日 15:23
  • 19180

【shell脚本】nginx每天自动切割日志脚本

nginx每天日志量比较大的时候,最好每天自动切割,存储,这样可以方面以后的查询和分析 #!/bin/sh ################### #filename: nginx_log_rotat...
  • lzz957748332
  • lzz957748332
  • 2015年06月30日 19:08
  • 2007

Nginx日志按天切割及日志基本配置说明

1.Nginx日志基本配置说明声明日志格式: access_log logs/access.log main; 声明log log位置 ...
  • RobertoHuang
  • RobertoHuang
  • 2017年04月09日 20:51
  • 1019

nginx/Windows-1.9.0的日志分割

@echo off rem @echo off  rem 取1天之前的日期 echo wscript.echo dateadd("d",-1,date) >%tmp%\tmp.vbs  for...
  • zhanglong_longlong
  • zhanglong_longlong
  • 2017年09月11日 15:02
  • 159
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nginx日志切割简介
举报原因:
原因补充:

(最多只允许输入30个字)