美文网首页
Nginx 日志切割

Nginx 日志切割

作者: YonchanLew | 来源:发表于2022-03-05 13:59 被阅读0次

    现有的日志都会存在 access.log 文件中,但是随着时间的推移,这个文件的内容会越来越多,体积会越来越大,不便于运维人员查看,所以我们可以通过把文件切割为多份不同的小文件作为日志,切割规则可以以 天 为单位,如果每天有几百G或者几个T的日志的话,则可以按需以 每半天 或者 每小时 对日志切割

    1、手动切割
    创建一个shell可执行文件: cut_my_log.sh ,内容为:

    #!/bin/bash
    LOG_PATH="/var/log/nginx/"
    RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M)
    PID=/var/run/nginx/nginx.pid
    mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
    mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log
    
    #向Nginx主进程发送信号,用于重新打开日志文件 
    kill -USR1 `cat $PID`
    

    为 cut_my_log.sh 添加可执行的权限:

    chmod +x cut_my_log.sh
    

    测试日志切割后的结果:

    ./cut_my_log.sh
    

    2、定时切割
    安装定时任务:

    yum install crontabs
    

    crontab -e 编辑并且添加一行新的任务:

    #cron表达式
    */1 * * * * /usr/local/nginx/sbin/cut_my_log.sh
    

    重启定时任务:

    service crond restart
    
    service crond start //启动服务 
    service crond stop //关闭服务 
    service crond restart //重启服务 
    service crond reload //重新载入配置 
    crontab -e // 编辑任务 
    crontab -l // 查看任务列表
    

    相关文章

      网友评论

          本文标题:Nginx 日志切割

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