上一節日誌配置好以後,會一直寫入信息到/tmp/access.log裏面,假如日誌不去整理,總有一天會把硬盤塞滿,所以我們需要做日誌切割,每天生成一個新的日誌,把舊的超過多少天的日誌刪除,我們需要去寫個Nginx的日誌切割腳本。
(把Nginx所有腳本放在這個目錄下)
[root@LampLinux ~]# vim /usr/local/sbin/nginx_logrotate.sh
#!/bin/bash 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 > /dev/null cd /tmp/nginx_log/ gzip -f $d.log
執行一下,需要把腳本命令加入到任務計劃:(-x 意爲 “可查看過程”)
[root@LampLinux ~]# sh -x /usr/local/sbin/nginx_logrotate.sh
++ date -d '-1 day' +%F
+ d=2015-08-11
+ '[' -d /tmp/nginx_log ']'
+ mkdir /tmp/nginx_log
+ mv /tmp/access.log /tmp/nginx_log/2015-08-11.log
+ /etc/init.d/nginx reload
+ cd /tmp/nginx_log/
+ gzip -f 2015-08-11.log
原日誌文件內容爲空:
[root@LampLinux ~]# cat /tmp/access.log
查看切割,並壓縮完成的日誌:
[root@LampLinux ~]# ls /tmp/nginx_log/
2015-08-11.log.gz