Nginx日誌切割

 爲何要進行Nginx日誌切割:linux

Nginx不像Tomcat那樣能夠自定義日誌的大小、時間等生成方式,全部的日誌會默認追加到一個文件中,很難去定位到小時間範圍的日誌。nginx

 

規劃:bash

經過linux計劃任務+日誌切割腳本,實現按月生成文件夾,日誌文件按天生成spa

腳本:日誌

# cat /usr/local/nginx/splitlog.shcode

# /bin/bash

# 日誌保存位置
base_path='/usr/local/nginx/logs'
# 獲取當前年信息和月信息
log_path=$(date -d yesterday +"%Y%m")
# 獲取昨天的日信息
day=$(date -d yesterday +"%d")
# 按年月建立文件夾
mkdir -p $base_path/$log_path
# 備份昨天的日誌到當月的文件夾
mv $base_path/access.log $base_path/$log_path/access_$day.log
# 輸出備份日誌文件名
# echo $base_path/$log_path/access_$day.log
# 經過Nginx信號量控制重讀日誌
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

綁定計劃任務blog

# crontab -l
01 00 * * * /usr/local/nginx/splitlog.sh     #天天凌晨1分執行日誌切割腳本crontab

查看:it

相關文章
相關標籤/搜索