zoukankan      html  css  js  c++  java
  • Nginx设置日志分割方法

    
    目标:
    nginx cronolog日志分割配置文档,每分钟分割一次NGINX访问日志。
    大体步骤如下: 1.nginx日志配置 access_log /var/log/nginx/access.log_pipe main;
    2.先创建一个命名管道 
    mkfifo
    /var/log/nginx/access.log_pipe

    3.配置cronolog按年月日时分保存分割后的文件
    nohup cat /var/log/nginx/access.log_pipe | cronolog /var/log/nginx/domain.access_%Y%m%d%H%M.log 2>&1 &

    4.启动Nginx
    /usr/local/nginx/sbin/nginx
    注意: cronolog必须在nginx启动前启动

    最后详细讲解下cronolog的安装使用:

    (1).直接用yum安装

    1
    [root@node6 src]# yum install -y cronolog httpd

     

     

    好了,到这里我们的cronolog就安装完成了,下面我们来说一下cronolog如何使用。

     

    (3)cronolog 使用

    .基本使用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    [root@node6 ~]# cronolog -h
    usage: cronolog [OPTIONS] logfile-spec
       -H NAME,   --hardlink=NAME maintain a hard link from NAME to current log
       -S NAME,   --symlink=NAME  maintain a symbolic link from NAME to current log
       -P NAME,   --prev-symlink=NAME  maintain a symbolic link from NAME to previous log
       -l NAME,   --link=NAME     same as -S/--symlink
       -h,        --help          print this help, then exit
       -p PERIOD, --period=PERIOD set the rotation period explicitly
       -d DELAY,  --delay=DELAY   set the rotation period delay
       -o,        --once-only     create single output log from template (not rotated)
       -x FILE,   --debug=FILE    write debug messages to FILE
                                  ( or to standard error if FILE is "-")
       -a,        --american         American date formats
       -e,        --european         European date formats (default)
       -s,    --start-time=TIME   starting time
       -z TZ, --time-zone=TZ      use TZ for timezone
       -V,      --version         print version number, then exit

    cronolog 一般是采取管道的方式来工作的,采用如下的形式:

    1
    [root@node6 ~]# loggenerator | cronolog log_file_pattern

    其中,loggenerator为产生log的程序,而log_file_pattern是日志文件的路径,可以在其中加入cronolog所支持的时间相关的pattern字符,如/www/log/%y/%m/%d/access.log。其pattern为%字符后跟一特殊字符,简述如下:

    转义符:  

    1
    2
    3
    %    %字符
    n    换行
    t    水平制表符

    时间域:  

    1
    2
    3
    4
    5
    6
    7
    H    小时(00..23)
    I    小时(01..12)
    p    该locale下的AM或PM标识
    M    分钟(00..59)
    S    秒 (00..61, which allows for leap seconds)
    X    该locale下时间表示符(e.g.: "15:12:47")
    Z    时区。若时区不能确定,则无意义

    日期域:  

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    a    该locale下的工作日简名(e.g.: Sun..Sat)
    A    该locale下的工作日全名(e.g.: Sunday ..  Satur-ay)
    b    该locale下的月份简称(e.g.: Jan .. Dec)
    B    该locale下的月份全称(e.g.:  January .. December)
    c    该locale下的日期和时间(e.g.: "Sun Dec 15  14:12:47 GMT 1996")
    d    当月中的天数 (01 .. 31)
    j    当年中的天数 (001 .. 366)
    m    月数 (01 .. 12)
    U    当年中的星期数,以周日作为一周开始,其中第一周为首个含星期天的星期(00..53)
    W    当年中的星期数,以星期一作为一周的开始,其中第一周为首个含星期天的星期(00..53)
    w    工作日数(0 .. 6, 0表示星期天)
    x    该locale下的日期表示(e.g. "13/04/97")
    y    两位数的年份(00 .. 99)
    Y    四位数的年份(1970 .. 2038)

     

     

    下面是效果

    1
    2
    3
    4
    5
    6
    7
    [root@localhost ~]# cd /log/www/
    [root@localhost www]# ll
    total 15072
    -rw-r--r-- 1 root root   16028 Dec 26 15:16 access_20131225.log
    -rw-r--r-- 1 root root 2406307 Dec 26 23:59 access_20131226.log
    -rw-r--r-- 1 root root 8292792 Dec 27 23:59 access_20131227.log
    -rw-r--r-- 1 root root 4682211 Dec 28 18:56 access_20131228.log
    
    
  • 相关阅读:
    B-Suffix Array
    1 or 2
    Boundary
    Fake Maxpooling
    Cover the Tree
    Omkar and Circle
    20.5.31
    Yet Another Yet Another Task
    Codeforces Round #373 (Div. 2)E. Sasha and Array +线段树+矩阵快速幂
    2018 Multi-University Training Contest 2(Naive Operations ) hdu6315
  • 原文地址:https://www.cnblogs.com/lixiaoran/p/6206889.html
Copyright © 2011-2022 走看看