zoukankan      html  css  js  c++  java
  • Linux------------logrotate日志切割工具


    转发https://www.cnblogs.com/clsn/p/8428257.html

    一、关于日志切割

      日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。
      logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志。配置完后,logrotate的运作完全自动化,不必进行任何进一步的人为干预。

    二、配置文件详解

    centos系统从7.2以后默认自带logrotate,不需要安装
    主配置目录:/etc/logrotate.conf
    配置目录:/etc/logrotate.d

    2.1 配置文件说明

    2.2 常见配置参数

    2.3 定时任务

    示例:

    [root@clsn6 ~]# cat /etc/cron.daily/logrotate 
    #!/bin/sh
    
    /usr/sbin/logrotate /etc/logrotate.conf
    EXITVALUE=$?
    if [ $EXITVALUE != 0 ]; then
        /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
    fi
    exit 0
    

    三、 nginx日志模板

    线上使用模板:

    [root@clsn nginx]# cat /etc/logrotate.d/nginx 
    /var/log/nginx/*.log {
        daily
        rotate 5
        missingok
        notifempty
        create 644 www www
        postrotate
          if [ -f /var/run/nginx.pid ]; then
              kill -USR1 `cat /var/run/nginx.pid`
          fi
    endscript
    }
    

    3.1 关于USR1信号解释

    摘自: http://www.xuebuyuan.com/323422.html

    USR1亦通常被用来告知应用程序重载配置文件;例如,向Apache HTTP服务器发送一个USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改。内容摘自wiki:http://zh.wikipedia.org/wiki/SIGUSR1和SIGUSR2  

      对于USR1和2都可以用户自定义的,在POSIX兼容的平台上,SIGUSR1和SIGUSR2是发送给一个进程的信号,它表示了用户定义的情况。它们的符号常量在头文件signal.h中定义。在不同的平台上,信号的编号可能发生变化,因此需要使用符号名称。

    kill -HUP pid 或者 killall -HUP pName:
    

      其中pid是进程标识,pName是进程的名称。
      如果想要更改配置而不需停止并重新启动服务,可以使用上面两个命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。根据约定,当你发送一个挂起信号(信号1或HUP)时,大多数服务器进程(所有常用的进程)都会进行复位操作并重新加载它们的配置文件。

  • 相关阅读:
    2019 Multi-University Training Contest 3
    SDU暑期集训排位(2)
    2019牛客暑期多校训练营(第四场)
    2019牛客暑期多校训练营(第三场)
    2019 Multi-University Training Contest 2
    2019 Multi-University Training Contest 1
    hdu1158 Employment Planning(dp)
    hdu 1130How Many Trees?(卡特兰数)
    C++大整数类模板
    组合数模板
  • 原文地址:https://www.cnblogs.com/wangchengshi/p/12213111.html
Copyright © 2011-2022 走看看