nginx 日誌切割

2021-09-08 13:16:51 字數 854 閱讀 1622

1.nginx_log_rotate.s**件

#nginx日誌切割指令碼

#author: joshau317

#!/bin/bash#1

.設定日誌檔案存放目錄,假設你的nginx的日誌存在這個目錄裡

logs_path="

/data/logs/nginx/"#

2.設定pid檔案,這個根據你自己的環境,找到nginx.pid所在目錄

pid_path="

/usr/local/nginx/logs/nginx.pid"#

3.建立分割儲存的日期檔案目錄

datetime=`date -d "

yesterday

" +"

%y%m%d"`;

new_log_path=$logs_path$datetime

mkdir -p $new_log_path#4

.按照日期移動所有該目錄下的日誌檔案

log_file_list=`ls -l $logs_path`;

for log_file in

$log_file_list;

dolog_file_name=$logs_path$log_file;

if [ -f $log_file_name ];

then

mv$log_file_name $new_log_path;

fidone

#5.向nginx主程序發訊號重新開啟日誌

kill -usr1 `cat $`

2.設定定時任務

0

0 * * * /data/sh/nginx_log_rotate.sh

nginx日誌切割

web 訪問日誌 access log 記錄了所有外部客戶端對web伺服器的訪問行為,包含了客戶端ip,訪問日期,訪問的url資源,伺服器返回的http狀態碼等重要資訊。一條典型的web訪問日誌如下 規劃 1 要解決問題 2 nignx沒有自動分開檔案儲存日誌的機制。由於nginx它不會幫你自動分檔...

nginx 日誌切割

直接在nginx配置檔案中,配置日誌迴圈,而不需使用logrotate或配置cron任務。需要使用到 time iso8601 內嵌變數來獲取時間。time iso8601格式如下 2015 08 07t18 12 02 02 00。然後使用正規表示式來獲取所需時間的資料。使用下面的 塊 1 2 3...

Nginx日誌切割

編輯指令碼tianshl tianshl nginx vim nginx log division.sh指令碼內容 bin sh 昨天日期 yesterday date v 1d y m d 日誌目錄 log path usr local var log nginx sdk日誌路徑 sdk path...