zoukankan      html  css  js  c++  java
  • 使用logrotate管理nginx日志文件

    本文转载自:http://linux008.blog.51cto.com/2837805/555829

    描述: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重新生成日志文件。

    ============================简易配置================================

    more /etc/logrotate.d/nginx
    /usr/local/nginx/logs/access.log {
    daily
    dateext
    rotate 10
    missingok
    notifempty
    copytruncate
    }

  • 相关阅读:
    Understanding FiddlerScript
    RPG游戏地牢设计的29个要点
    《皇室战争》中关于兰彻斯特方程的应用及数值设计
    写给想做主策的策划师们
    AI设计的若干规则阐述
    Unreal引擎术语表
    UDK编辑器 49条小提示
    UE3代码阅读需知
    Framework配置错误
    迅雷的笔试题
  • 原文地址:https://www.cnblogs.com/rwxwsblog/p/5377194.html
Copyright © 2011-2022 走看看