nginx定時任務完成日誌切割

2021-08-18 10:03:56 字數 1217 閱讀 9326

nginx允許針對不同的server做不同的log(有的web伺服器不支援),預設有個main格式的日誌,如

server 

access_log logs/a.com.access.log main; //要把main格式的注釋去掉

}

1.date

date

#檢視時間

date -s '2013-09-21 19:00:38'

#修改時間

clock -w #寫入cmos

date -d today +%y%m%d #檢視今天的日期並格式化

2.shell指令碼

mkdir /date

#建立date目錄

cd /date/

vim runlog.sh

runlog.sh 內容:

#! /bin/bash

logpath=/usr/local/nginx/logs/a.com.access.log #原始日誌檔案

basepath=/date/$(date -d today +%y%m) #新路徑

mkdir -p $basepath

#以月為單位建立資料夾

bak=$basepath/$(date -d today +%y%m%d%h%m).a.com.access.log #新路徑及檔名

mv $logpath

$bak

#移動touch $logpath

#新建立log檔案

kill -usr1 `cat /usr/local/nginx/logs/nginx.pid` # 重讀日誌

儲存退出,然後

crontab -e

#定時執行

內容

*/1 *

* * * sh /date/runlog.sh

#分 時 日 月 周 我這裡為了看效果,每分鐘執行runlog.sh

儲存退出即可:

nginx定時任務完成日誌切割

有時在實際開發中需要記錄nginx日誌,並以每天記錄乙個日誌檔案 當然肯定是需要寫乙個shell指令碼 在nginx目錄下新建乙個目錄 daylog 新建乙個指令碼檔案log.sh,給log.sh新增可執行許可權 chmod x log.sh 再在daylog下建立乙個logs資料夾用來放置日誌檔案...

Ngnix的日誌管理和用定時任務完成日誌切割

一 日誌管理 先來看看ngnix的配置檔案的server段 接下來我們解釋一下預設格式的具體意思 log format main remote addr 遠端ip remote user 遠端使用者 time local 訪問時間 request 請求方式 status 狀態302 404 401 ...

nginx定時任務分割日誌

nginx安裝在 usr local資料夾下 1.在nginx根目錄下建立乙個檔案data,儲存指令碼檔案runlog.sh mkdir data vim data runlog.sh 2.在指令碼檔案runlog.sh檔案裡新增如下 的含義是 在logs資料夾下,每天凌晨一點生成乙個昨天的日誌檔案...