当前位置 博文首页 > Drifting Kern的博客:Nginx 日志切割(利用Shell脚本和Linux cro

    Drifting Kern的博客:Nginx 日志切割(利用Shell脚本和Linux cro

    作者:[db:作者] 时间:2021-09-12 21:24

    Nginx 日志切割(利用Shell脚本和Linux crond定时任务)

    相关的安装命令

    • –error-log-path= 错误日志
    • –http-log-path= http请求日志

    手动切割脚本文件

    1. 创建一个shell可执行文件: /var/log/nginx/cut_nginx_log.sh,内容为:
    #!/bin/bash
    LOG_PATH="/var/log/nginx/" 
    RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M) 
    PID=/var/run/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`
    
    1. 为 cut_nginx_log.sh 添加可执行的权限:
    chmod a+x /var/log/nginx/cut_nginx_log.sh
    
    1. 测试日志切割后的结果
    /var/log/nginx/cut_nginx_log.sh
    
    1. 把切割任务加入到定时任务中,每天凌晨4.30切割一次
    crontab -e
    30 4 * * * /var/log/nginx/cut_nginx_log.sh
    #保存退出 :wq
    
    #重启定时任务服务
    systemctl restart crond
    

    如果没有安装crontabs 则需要先安装一下 yum -y install crontabs

    cs