zoukankan      html  css  js  c++  java
  • NGINX日志切割

    mv /path/to/nginx/logs/access.log bak_access.log
    

    执行此命令Nginx会重新生成新的为0bytes的access.log文件:

    /path/to/nginx -s reopen
    
    -rw-r--r--  1 www root    0 5月  18 14:39 access.log
    -rw-r--r--. 1 www root 3543 5月  18 14:38 bak_access.log
    -rw-r--r--. 1 www root    0 5月  12 17:08 nginx_error.log
    

    使用定时任务配合shell脚本进行每天对日志切割并保存到history目录,以下命令保存为LogCutting.sh并增加可执行权限。

    #!/bin/bash
    # 历史日志目录
    NGINX_HISTORY_LOGS_PATH=/path/to/nginx/logs/history
    # NGINX日志目录
    NGINX_CURRENT_LOGS_PATH=/path/to/nginx/logs
    # NGINX进程PID文件
    NGINX_PID_FILE=/path/to/nginx/logs/nginx.pid
    YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
    mv ${NGINX_CURRENT_LOGS_PATH}/access.log ${NGINX_HISTORY_LOGS_PATH}/${YESTERDAY}_access.log
    mv ${NGINX_CURRENT_LOGS_PATH}/error.log ${NGINX_HISTORY_LOGS_PATH}/${YESTERDAY}_error.log
    # 向NGINX主进程发送USR1信号,USR1信号为重新打开日志文件
    kill -USR1 $(cat ${NGINX_PID_FILE})
    

    增加定时任务:

    crontab -e # 编辑定时任务脚本文件
    
    0 0 * * * /path/to/LogCutting.sh # 每天0点执行
    
    crontab -l # 查看是否添加成功
  • 相关阅读:
    构造方法
    $this
    public/private/protected三种访问控制符的区别
    vsftpd的虚拟主机配置,错误记录
    高斯模糊css
    css绘制三角形
    禁止缩放的一行代码
    自适应的Javascript代码resize.js
    判断是pc端还是手机端js
    倒计时
  • 原文地址:https://www.cnblogs.com/qiutianjia/p/11574043.html
Copyright © 2011-2022 走看看