zoukankan      html  css  js  c++  java
  • 定时分隔清理nginx日志文件

     nginx的日志如果不做切分的话会在一个文件中一直追加,导致日志文件越来越大,所以通过编写脚本来实现控制日切的功能,同时清理存在超过30天的文件。

    脚本如下:

    复制代码

    #!/bin/bash
    #LOGS_PATH为日志存放路径
    LOGS_PATH=/usr/share/nginx/logs
    YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
    KEEPTIME=$(date -d "-30 days" +%Y-%m-%d)
    #切分日志文件
    mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
    mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
    #通过Nginx信号量控制重读日志,/web/nginx/为nginx安装目录
    kill -USR1 $(cat /web/nginx/logs/nginx.pid)
    #删除30天前的日志文件
    rm -f ${LOGS_PATH}/access_{KEEPTIME}.log
    rm -f ${LOGS_PATH}/error_{KEEPTIME}.log
    echo 0

    复制代码

    添加系统定时任务

    crontab -e
    #每天0时1分进行日志分割
    01 00 * * * /usr/share/nginx/logs/cut_nginx_log.sh

    文章参考:https://www.cnblogs.com/zjfjava/p/11154989.html

  • 相关阅读:
    Jenkins安装及配置
    数据库命令扩展
    常用的数据库命令
    如何使用NiFi等构建IIoT系统
    云计算之概念——IaaS、SaaS、PaaS、Daas
    emqx的一个配置参数
    利用jsoup抓取网页图片
    nohup使用
    jsoup的使用
    java知识点链接
  • 原文地址:https://www.cnblogs.com/ooo0/p/14911428.html
Copyright © 2011-2022 走看看