欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

分割nginx日志的實現(xiàn)(避免日志多大)

 更新時間:2024年04月17日 10:22:11   作者:前路無畏  
nginx默認沒有提供對日志文件的分割功能,所以隨著時間的增長,access.log和error.log文件會越來越大,本文主要介紹了分割nginx日志的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下

1. 問題提出

nginx的日志沒有切分,會非常大,不利于日志的刪除和查看

在這里插入圖片描述

2. 解決思路

  • 寫一個腳本,去切分日志
  • 使用crontab寫一個定時任務(wù),每天切一個。

3. 解決流程

腳本時別人的,拿過來用。

3.1 新建切割日志的腳本/opt/sh/cutlogs.sh

內(nèi)容如下:

#!/bin/bash

# 指定日志和切割后日志備份的目錄
YEAR=$(date +%Y)
MONTH=$(date +%m)
DAY=$(date +%d)
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
LOGS_PATH=/data/docker/saber/logs
LOGS_BAK_PATH=/data/docker/saber/logs-bak

# 得到1級目錄名
if [[ $(($DAY)) -eq 1 ]]
  then
    if [[ $(($MONTH)) -eq 1 ]]
      then
        LOGS_BAK_PATH=$LOGS_BAK_PATH/$((${YEAR}-1))-12
    else
      if [[ $(($MONTH)) -gt 10 ]]
        then
          LOGS_BAK_PATH=$LOGS_BAK_PATH/${YEAR}-$((${MONTH}-1))
      else
          LOGS_BAK_PATH=$LOGS_BAK_PATH/${YEAR}-0$((${MONTH}-1))
      fi
    fi
else
    LOGS_BAK_PATH=$LOGS_BAK_PATH/${YEAR}-${MONTH}
fi

# 創(chuàng)建目錄
mkdir -p $LOGS_BAK_PATH/${YESTERDAY}

# 復(fù)制當前的日志文件到備份的目錄
cp ${LOGS_PATH}/access.log ${LOGS_BAK_PATH}/${YESTERDAY}/access_${YESTERDAY}.log
#cp ${LOGS_PATH}/admin_access.log ${LOGS_BAK_PATH}/${YESTERDAY}/admin_access_${YESTERDAY}.log
cp ${LOGS_PATH}/error.log ${LOGS_BAK_PATH}/${YESTERDAY}/error_${YESTERDAY}.log

# 清空日志
> ${LOGS_PATH}/access.log
#> ${LOGS_PATH}/admin_access.log
> ${LOGS_PATH}/error.log

3.2 寫crontab定時任務(wù)

crontab -e

打開crontab

寫入任務(wù),每天1點跑定時任務(wù):

0 1 * * * sh /opt/sh/cutlogs.sh >> /opt/sh/cutlogs.log

3.3 結(jié)果

結(jié)果如下:

日志全部在/data/docker/saber/logs-bak目錄下

在這里插入圖片描述

logs-bak下面是月

在這里插入圖片描述

月下面是天

在這里插入圖片描述

天下面是文件

在這里插入圖片描述

4. 總計

  • 使用腳本去做切分
  • 使用定時器去每天跑腳本。

 到此這篇關(guān)于分割nginx日志的實現(xiàn)(避免日志多大)的文章就介紹到這了,更多相關(guān)分割nginx日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論