zoukankan      html  css  js  c++  java
  • nginx 日志分割

    nginx本身不带日志分割,日志分割有很多总方法。最近我做的主要是通过sh脚本执行。 

    思路:

    1.首先确定nginx日志存放路径。

    2.通过sh脚本创建前一天日期的文件名文件。

    3.拷贝日志文件到新创建的文件中。

    3.通过crontab命令,每天0点执行。 

    这总方法比较简单,而且不会浪费nginx系统资源。

    具体代码:

    sh脚本:

    vim cut_log.sh

    创建sh脚本文件

    cut_log.sh:

    LOG_PATH="/nginx/logs"
    RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d)
    PID=/nginx/logs/nginx.pid
    
    mv $LOG_PATH/access.log $LOG_PATH/access.$RECORD_TIME.log
    mv $LOG_PATH/error.log $LOG_PATH/error.$RECORD_TIME.log
    
    kill -USR1 `cat $PID
    

      

    LOG_PATH : 日志文件路径

    RECORD_TIME:前一天的时间,用户创建日期格式的文件。

    PID:nginx的log,pid文件。主要用于重新启动日志使用。 文件路径可以在nginx.conf里面找到。

    kill:重新启动nginx日志。

    目前为止脚本文件已经完成。 需要把脚本文件修改成可执行文件

    命令:

    chmod 755 cut_log.sh

    还差最后一步,使用crontab命令让系统每天0点自动执行。

    crontab -e
    
    0 0 * * * /crontabTask/cut_log.sh

    crontabTask是我存放cut_log.sh路径。 你存放的路径不一样,相应的修改。

    当输入:crontab -e后,输入0 0 * * * /crontabTask/cut_nginx_log.sh 记得点wq保存退出。

    执行:

    crontab -l

    可以查看到刚刚添加的执行任务。

    最后推荐一个私活网站:

    IT外包

    http://itwaibao.com

    有时间可以看看赚一些外快。 PS.如果有好平台大家可以推荐给我。感谢了。

  • 相关阅读:
    组合问题的递归实现
    递归解决全排列算法
    字符串专题练习
    Linux系统目录架构
    Linux命令行文本处理工具
    Linux扩展权限
    Linux权限机制
    Linux用户基础
    Linux文件系统挂载管理
    Sensors Grouping Model for Wireless Sensor Network*
  • 原文地址:https://www.cnblogs.com/sybo/p/14682585.html
Copyright © 2011-2022 走看看