Linux伺服器nginx日誌切割

2021-08-14 08:48:39 字數 1003 閱讀 1876

由於nginx的日誌本身只是支援按照server_name或者大小進行劃分,對於習慣了apache的按照乙個**每天乙個日誌的我來說是不可以接受的,所以就實現了按天切割的功能,這篇文章主要介紹了關於nginx日誌按日期切割的相關資料,需要的朋友可以參考下。

本文實現的功能是在嗎每天凌晨00:00把前一天的nginx日誌access.log重新命名為access-***x-xx-xx.log格式,例如:access-2016-10-01.log,下面話不多說了,來看看詳細的實現方法吧。

編輯指令碼

#vim /data/shell/cut_nginx_log.sh

#!/bin/bash

#此指令碼用於自動分割nginx的日誌,包括access.log和error.log

#每天00:00執行此指令碼 將前一天的access.log重新命名為access-***x-xx-xx.log格式,並重新開啟日誌檔案

#nginx日誌檔案所在目錄

log_path=/opt/nginx/logs

#獲取昨天的日期

yesterday=$(date -d "yesterday" +%y-%m-%d)

#獲取pid檔案路徑

pid=/var/run/nginx/nginx.pid

#分割日誌

mv $access.log $access-$.log

mv $error.log $error-$.log

#向nginx主程序傳送usr1訊號,重新開啟日誌檔案

kill -usr1 `cat $`

授予執行許可權

#chmod +x /data/shell/cut_nginx_log.sh

編輯定時任務

配置crontab每天凌晨00:00定時執行這個指令碼

#crontab -e

00 00 * * * /bin/bash /data/shell/cut_nginx_log.sh

nginx伺服器access log日誌詳解

前言 nginx的log日誌分為 access log 和 error log 其中access log 記錄了哪些使用者,哪些頁面以及使用者瀏覽器 ip和其他的訪問資訊 error log 則是記錄伺服器錯誤日誌 log format 日誌格式語法 log format name 格式名字 格式樣...

windows伺服器nginx日誌分割

編寫乙個bat檔案 echo off rem echo off rem 取1天之前的日期 echo wscript.echo dateadd d 1,date tmp tmp.vbs for f tokens 1,2,3 delims i in cscript nologo tmp tmp.vbs ...

linux伺服器日誌切割

現在網上比較成熟的有logrotate和cronolog兩種工具,也有很多實現,我們這裡不使用這兩種,所以不多贅述,只講講使用最基本的linux切割日誌的方法。因為每天產生的日誌都會輸出到catalina.out這個檔案中,我們可以在每天晚上凌晨的時候把catalina.out這個檔案複製乙份,檔名...