Nginx日志分割

作者: pijh | 来源:发表于2018-05-29 15:18 被阅读8次

    对于访问量大的站点,每天会产生大量的日志文件,为了方便我们排错和查看相关日志,对日志进行分割显得相当必要,下面是Nginx日志按日期进行分割的示例:

    创建 bash 脚本

    $ mkdir -p /data/bash_script
    $ touch /data/bash_script/auto_split_nginx_access_log_by_daliy.sh
    $ chmod a+x !$ # 添加执行权限
    

    自动分割逻辑

    #! /bin/bash
    
    LOGNAME=XXX.dev.meoin.cn #域名,或日志名称
    BASEPATH=/data/nginx_logs/$(date -d today +%Y%m%d)
    if [ ! -d $BASEPATH ];then
      mkdir -p $BASEPATH
    fi
    LOGPATH=/var/log/nginx/$LOGNAME.access.log
    BACKPATH=$BASEPATH/$LOGNAME.$(date -d today +%Y%m%d%H%M).access.log
    
    mv $LOGPATH $BACKPATH
    touch $LOGPATH
    kill -USR1 `cat /var/run/nginx/nginx.pid`
    

    开启定时任务

    $ crontab -e #root用户登录,其它用户请确保有权限执行
    $ */1 * * * * sh /data/bash_script/auto_split_nginx_access_log_by_daliy.sh #为了测试,每分钟执行一次
    

    查看结果

    $ ll /data/nginx_logs/20180529
    total 488
    -rw-r--r-- 1 nginx root   2052 May 29 14:57 xxx.dev.meoin.cn.201805291458.access.log
    -rw-r--r-- 1 nginx root   2086 May 29 14:58 xxx.dev.meoin.cn.201805291459.access.log
    -rw-r--r-- 1 nginx root    957 May 29 14:59 xxx.dev.meoin.cn.201805291500.access.log
    ...
    

    相关文章

      网友评论

        本文标题:Nginx日志分割

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