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
    }

  • 相关阅读:
    【转】ArcGIS 合并要素 Union Dissolve Append Merge
    Linux命令行下编辑常用快捷键
    rpm aid用法
    SUSE 吉祥物图片
    F9初装体验
    openSUSE10、SUSE EVAL10和SUSE10的区别[翻译]
    装有Linux DIY牛人百元人民币昂贵甜头液晶一体机
    SUSE10.3恢复GRUB体例
    64位Fedora还挑CPU
    Ubuntu8.04安置XCrysDen
  • 原文地址:https://www.cnblogs.com/rwxwsblog/p/5377194.html
Copyright © 2011-2022 走看看