Nginx 日誌自動切割(Centos6.8)

前幾天看nginx日誌,發現日誌文件發現愈來愈大。下載分析很是不方便,因此打算按天對其進行切割,使用shell腳本方式進行切割。nginx

當前使用Nginx安裝到了/usr/local/nginxshell

建立分割shell腳本

在/usr/local/nginx/logs上建立一個shell文件,命名爲:nginxLogRotate.sh。bash

執行如下命令:spa

cd /usr/local/nginx/logs
vi nginxLogRotate.sh

nginxLogRotate.sh文件內容:調試

## 日誌存放路徑
LOGS_PATH=/usr/local/nginx/logs
## 獲取當天日期,用於日誌文件名上
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
## 移動access.log日誌,並修改命名
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
## 移動error.log日誌,並修改命名
mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
## 向 Nginx 主進程發送 USR1 信號。USR1 信號是從新打開日誌文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

注意,建立完成文件以後須要配置一下文件權限,執行如下命令就能夠日誌

chmod 777 nginxLogRotate.sh

建立自動調試

執行如下命令配置自動調度code

crontab -e

在自動調度中配置如下信息blog

#天天16點50分執行  /usr/local/nginx/logs/nginxLogRotate.sh腳本
50 16 * * * bash /usr/local/nginx/logs/nginxLogRotate.sh

 

經過以上配置就完成了Nginx日誌自動切割,天天下載16點50分自動切割,也能夠根據本身的須要本身配置時間,天天會產生一個當天日誌的日誌。進程

相關文章
相關標籤/搜索