nginx定時任務分割日誌

2021-09-02 21:32:53 字數 1086 閱讀 6225

nginx安裝在/usr/local資料夾下

1.在nginx根目錄下建立乙個檔案data,儲存指令碼檔案runlog.sh

mkdir /data

vim ./data/runlog.sh

2.在指令碼檔案runlog.sh檔案裡新增如下**。

**的含義是:在logs資料夾下,每天凌晨一點生成乙個昨天的日誌檔案(命名方式:access_yyyy-mm-dd.log),並儲存到對應年份的對應月份的資料夾中(以年份yyyy建立資料夾,再在yyyy裡面按月份mm建立資料夾,然後將日誌檔案儲存到mm中)

#!/bin/bash

log_base=/usr/local/nginx/logs

log_path=$/$(date -d yesterday +%y)/$(date -d yesterday +%m)

mkdir -p $log_path

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

touch $log_base/access.log

kill -usr1 `cat /usr/local/nginx/logs/nginx.pid`

#echo $(date -d yesterday +%y%m%d).log

3.執行、檢查runlog.sh

將echo前面的#號去掉,儲存退出runlog.sh指令碼後,直接輸入:

sh runlog.sh //執行指令碼,檢查是否有錯誤

4.定時執行runlog.sh

輸入命令:

crontab -e

在開啟的介面輸入如下資訊:

1 0 * * * sh /usr/local/nginx/data/runlog.sh //每天凌晨0點1分執行

[color=red]注:yesterday 也可以用 today等,定時任務改一下執行時間即可[/color]

nginx定時任務完成日誌切割

nginx允許針對不同的server做不同的log 有的web伺服器不支援 預設有個main格式的日誌,如 server access log logs a.com.access.log main 要把main格式的注釋去掉 1.date date 檢視時間 date s 2013 09 21 19...

nginx定時任務完成日誌切割

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

Nginx指定日誌檔案和定時任務備份日誌

一.給虛擬主機指定日誌檔案 1.指定日誌檔案 nginx允許不同的server使用不同的日誌檔案,修改nginx配置檔案如下 root data1 nginx sbin nginx s reload檢視當前日誌檔案 root data1 logs pwd usr local nginx logs r...