如何對Nginx日誌檔案進行切割儲存

2022-09-15 02:48:10 字數 924 閱讀 3318

日積月累下,日誌檔案會越來越大,日誌檔案太大嚴重影響伺服器效率,須要定時對日誌檔案進行切割。

切割的方式有按月切割、按天切割、按小時切割,一般都是按天切割。

那麼如何進行切割呢?

思路:建立日誌檔案存放路徑

將日誌檔案以當天時間為名字進行重新命名

傳送kill -usr1訊號給nginx的主程序號,讓nginx重新生成乙個新的日誌檔案

思路知道了,能不能具體點,show me code

下面以每天凌晨00:00切割nginx的訪問日誌access_log為例,詳細講解切割步驟

#!/bin/bash

// nginx的日誌檔案路徑

logs_path="/data1/logs/"

// 建立日誌檔案存放路徑

mkdir -p $$(date -d "yesterday" + "%y")/$(date -d "yesterday" + "%m")/

// 將日誌檔案以當天時間為名字進行重新命名

mv $access.log $$(date -d "yesterday" +"%y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%y%m%d").log

// 傳送kill -usr1訊號給nginx的主程序號,讓nginx重新生成乙個新的日誌檔案

kill -usr1 `cat /var/nginx/nginx.pid`

// 進入編輯crontab

crontab -e

// 輸入配置

// div_nginx_log.sh指令碼的路徑要寫絕對路徑

00 00 * * * /bin/bash /root/div_nginx_log.sh

按上面兩個步驟來,這樣就大功告成了

使用shell指令碼對Nginx日誌進行切分

預設的日誌格式 main http user agent http x forwarded for 如預設的main日誌格式,記錄這麼幾項 遠端ip 遠端使用者 使用者時間 請求方法 如get post 請求體body長度 referer 資訊 http user agent使用者 蜘蛛 被 的請求...

goaccess對nginx日誌進行分析

goaccess旨在成為乙個基於終端的快速日誌分析器,其核心思想是實時快速分析和檢視web伺服器統計資訊,goaccess可分析apache nginx等web日誌,同時還支援生成html json csv等資料報告。環境 rhel7.3 root server1 tar zxf goaccess ...

使用Lumberjack zap進行日誌切割歸檔

為了新增日誌切割歸檔功能,我們將使用第三方庫lumberjack來實現。執行下面的命令安裝lumberjack go get u github.com natefinch lumberjack要在zap中加入lumberjack支援,我們需要修改writesyncer 我們將按照下面的 修改getl...