nginx自己寫日誌切割指令碼

大成無敵發表於2017-12-22

nginx不像apache一樣有切割功能 得自己建立切割指令碼

比如我們放在並命名/usr/loal/nginx/sbin/nginxlog.sh

最後我們要做壓縮 因為日誌可能有些大

指令碼如下:
d = date -d “-1 day” +%F
[ -d /tmp/nginx_log ] || mkdir /tmp/nginx_log
mv /tmp/access.log /tmp/nginx.log/$d.log
/etc/init.d/nginx reload 2> /dev/null
gzip -f $d.log

解釋:
d= `date -d “-1 day” +%F:代表昨天的
[-d /tmp/nginx_log] || mkdir /tmp/nginx_log:首先判斷nginx_log是否存在 如果不存在則去建立它。這裡的||是或者的意思,只執行左右一條成功的命令
mv /tmo/access.log /tmp/nginx.log/$d.log:代表把 產生的日誌檔案 放到nginx.log下
/usr/local/nginx/sbin/nginx -s reload > /dev/null:重新載入nginx是要求把日誌檔案重新生成代表把輸出的資訊放到dev/null下
cd /tmp/nginx_log/ cd到nginx_log下
gzip -f $d.log 給這個日誌做壓縮 -f是強制性的


相關文章