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