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