上一节日志配置好以后,会一直写入信息到/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