美文网首页PHP实战课程相关
nginx中access日志如何做到按时间完美切割

nginx中access日志如何做到按时间完美切割

作者: singwa | 来源:发表于2017-05-16 13:01 被阅读0次

    nginx web服务器中access日志,默认是不能按时间分隔的,每次日志都是打在access.log上,这样久而久之这个日志文件就特别的大,也不利于清理和管理,故此我们肯定是需要做时间上的切割的,那么如何做到完美的切割的呢?

    我们采取的方案是利用shell脚本和crontab定时任务来做

    比如新建一个nginx_time_log.sh脚本,里面的内容如下

    #!/bin/bash

    local_path=/home/work/tp/log/webserver    #找到您服务器中存放access日志的目录

    cd $local_path  #进入这个目录

    #echo access_log $local_path/access_log` date +%Y%m%d%H`   #测试下路径是否正常

    mv access_log $local_path/access_log` date +%Y%m%d%H`  #把当前的access_log挪到这个时期下,其实就是相当于日志的切分

    nginx_pid=`ps -ef |grep -v grep |grep “nginx: master process “|awk -F” ” ‘{print $2}’`  #找到您nginx的进程

    ` kill -USR1 $nginx_pid`  #执行usr1

    这样就会先把access_log 移动到一个access_log.时间  的日志文件,并且会新生产一个access_log文件

    最后通过定时任务来让这个nginx_time.sh脚本按每小时来进行切分

    crontab命令如下:

    0 */1 * * *   sh   /xxx(您这个脚本的存放命令)/nginx.sh

    日志图如下:

    之前singwa做过2套实战课程,成功帮助很多小伙伴找到了心仪的工作

    前端到后台ThinkPHP开发整站

    ThinkPHP5实战-仿百度糯米开发多商家电商平台

    备注:视频合作方-慕课网

    更多内容请关注singwa官网: singwa.cn

    相关文章

      网友评论

        本文标题:nginx中access日志如何做到按时间完美切割

        本文链接:https://www.haomeiwen.com/subject/lpllxxtx.html