• 完美解决FreeBSD下日志轮转问题

    post by Holmesian / 2009-10-10 22:01 Saturday
    FreeBSD根本不必借助任何第三方工具,就可以完美的解决任何日志轮转的问题

    /etc/newsyslog.conf文件格式如下
    一共有10列。其中3列是可选的,这些列如下
    logfile_name owner:group mode count size when flags path_to_pid_file signal_number


    每个参数说明如下:

    logfile_name:必选参数,需要处理的日志的绝对路径。如,/var/log/http-access.log。
    owner:group:可选参数,表明该日志文件的所属属性。默认是root:wheel,如果不同自行更改。
    mode:必选参数,表示该文件的权限。如600。
    count:必选参数,表示日志保存的数量。如,7,则表示该类日志文件保存7个,分别为http.log、http.log.0...http.log.6
    size:和when参数二选一,如果不配置,则用*,表示日志的最大尺寸,超过这个尺寸,就会被轮转。单位是KB。
    when:和size参数二选一,如果不配置,则用*,表示日志轮转的周期。有两种格式可以指定。

          
    格式一:@[[[[[cc]yy]mm]dd][T[hh[mm[ss]]]]]  举例来说吧
            假定现在的日期是1999-01-22  00:00:00 则下面的日期格式都是相同的效果
                       `19990122T000000'
                       `990122T000000'
                       `0122T000000'
                       `22T000000'
                       `T000000'
                       `T0000'
                       `T00'
                       `22T'
                       `T'
                       `'

          
    格式二:以天,周,和月为基础的日期格式。分别是[$Dhh]、[$Ww[Dhh]]、[Mdd[Dhh]]
           其中,D表示天,hh表示小时数,范围为:0-23
                     W表示周,w表示周几,范围为:0-6 ,D和hh同上
                     M表示月,dd表示天日,范围为:1-31,D和hh同上
           举例来说吧
           $D0 表示每天晚上0点轮转日志(和 @T00相同)
           $D23 表示每天23点轮转日志 (和 @T23相同)
           $W0D23 表示每周日的23点轮转日志
           $W5D16 表示每周五16点轮转日志
           $M1D0 表示每月的1号0点轮转日志 (和 @01T00相同)
           $M5D6 表示每月5号6点轮转日志 (和 @05T06相同)


    flags:可选参数,表示轮转时的一些动作,如启用压缩等。其中常见标记如下
           B,表明该log文件为二进制文件,而非普通的ascii文件。如pf的日志就是二进制文件
           C,表明如果该日志文件不存在,则由newsyslog创建一个文件
           J,表明使用bzip2对轮转的日志文件进行压缩
           Z,表明使用gzip对轮转日志文件进行压缩
          其余参数不常用,就不再一一例举出来了,如有兴趣详见man 5 newsyslog.conf
    path_to_pid_file:可选参数,产生此日志的进程的pid文件。如:/var/run/httpd.pid
    signal_number:可选参数,表明要发送给path_to_pid_file进程的信号。默认为发送HUP信号。


    现在看一个具体的内容吧

    /data/weblog/httpd-access.log               600  20     *  @T00    JC        /var/run/pflogd.pid

    表示对http的访问日志进行轮转,日志总数为20,每天零点开始轮换,使用bzip进行压缩。

    发表评论: