nginx日誌切割

2022-02-01 00:28:16 字數 1094 閱讀 1285

建立乙個shell可執行檔案:cut_my_log.sh,內容為:

#!/bin/bash

log_path="

/var/log/nginx/

"record_time=$(date -d "

yesterday

" +%y-%m-%d+%h:%m)

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

mv $/access.log $/access.$.log

mv $/error.log $/error.$.log

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

kill -usr1 `cat $pid`

為cut_my_log.sh新增可執行的許可權:

chmod +x cut_my_log.sh

執行檔案,檢視測試結果:

./cut_my_log.sh

安裝定時任務:

yum install crontabs

*/1 * * * * /usr/local/nginx/sbin/cut_my_log.sh

#crontab -l 檢視當前定時任務列表

常用表示式:

#每分鐘執行

*/1 * * * *#每日凌晨執行

59 23 * * *#每日凌晨一點執行

0 1 * * *

重啟定時任務:

service crond restart

常用定時任務命令:

service crond start //

啟動服務

service crond stop //

關閉服務

service crond restart //

重啟服務

service crond reload //

重新載入配置

crontab -e //

編輯任務

crontab -l //

檢視任務列表

每天定時為資料庫備份:

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...