nginx日誌的切割

2021-10-01 20:30:42 字數 1414 閱讀 6777

日誌的切割就是把日誌以天為單位存放,這樣便於我們對日誌的檢視以及分析,對錯誤的排查更加的迅速。

access_log:存放的是nginx成功訪問的日誌資訊

error_log:存放的是nginx訪問失敗的日誌資訊

nginx.pid:裡面存放的是nginx的程序的pid

date命令

[root@localhost ~]

# date +%f

2019-12-31

[root@localhost ~]

# date +%y-%m-%d

2019-12-31

[root@localhost ~]

# date +%f -d -1day

2019-12-30

[root@localhost ~]

# date +%f -d +1day

2020-01-01

cd /usr/local/nginx/logs

mv access.log `

date +%f -d -1day`

_access.log #備份昨天的日誌

/usr/local/nginx/sbin/nginx -s reopen #重新生成access.log日誌

自動切割需要編寫指令碼來完成

cd /usr/local/nginx/logs

mkdir oldlog #建立目錄儲存舊的日誌資訊

vim backup.sh #編輯指令碼

1#!/bin/bash

2 3 log_path=/usr/local/nginx/logs/oldlogs

4 cur_log_path=/usr/local/nginx/logs/

5 yestaday=

$(date +%f -d -1day)

6 mv

$cur_log_path/access.log $log_path/$_access.log

7 mv

$cur_log_path/error.log $log_path/$_error.log

8 kill -usr1 $(

cat /usr/local/nginx/logs/nginx.pid)

9 /usr/local/nginx/sbin/nginx -s reopen (和第八行一樣生成新的日誌)

chmod +x backup.sh #給執行許可權

寫乙個定時任務讓他每天的半夜十二點執行

crontab -e

0 0 * * * /bin/bash /usr/local/nginx/logs/backup.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...