nginx允許針對不同的server做不同的log(有的web伺服器不支援),預設有個main格式的日志,如
server {
listen ;
server_name a.com; //需更改 host
location / {
root a.com; //根目錄定位
index index.html index.htm;
}
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` # 重讀日志
儲存退出,然後
内容
*/1 * * * * sh /date/runlog.sh
#分 時 日 月 周 我這裡為了看效果,每分鐘執行runlog.sh
儲存退出即可:
