上一节日志配置好以后,会一直写入信息到/tmp/access.log里面,假如日志不去整理,总有一天会把硬盘塞满,所以我们需要做日志切割,每天生成一个新的日志,把旧的超过多少天的日志删除,我们需要去写个Nginx的日志切割脚本。
(把Nginx所有脚本放在这个目录下)
[root@LampLinux ~]# vim /usr/local/sbin/nginx_logrotate.sh
1
2
3
4
5
6
7
|
#!/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
本文转自 听丶飞鸟说 51CTO博客,原文链接:http://blog.51cto.com/286577399/1683890