實現對nginx日誌切割

nginx的信號控制:例如:kill -QUIT N

TERM,INT 快速關閉
QUIT  從容關閉
HUP   平滑重啓,重新加載配置文件
USR1  重新打開日誌文件,在切割日誌時用途比較大
USR2  平滑升級可執行程序
WINCH 從容關閉工作進程


切割日誌文件:

用來定期切割較大日誌文件,創建bash腳本,並創建計劃任務cron。

腳本內容:

#!/bin/bash


### Nginx Access Log Separation ###

LOG_PATH="/usr/local/nginx/logs"

YESTERDAY="$(date -d "yesterday" +%Y%m%d)"

NGINX_PID=`/bin/cat /usr/local/nginx/logs/nginx.pid`


### WEB Access Log Separation ###

mv ${LOG_PATH}/web/web_access.log ${LOG_PATH}/web/web_access.log-${YESTERDAY}

if [[ "$?" = "0" ]];then

        echo "Move Successfully."

fi


### Reload Nginx To Create New Log Files ###

/bin/kill -USR1 ${NGINX_PID}


計劃任務:

0 0 * * * /bin/bash /usr/local/nginx/sbin/CutAccessLog.sh


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章