Nginx配置——日志切割

## 编写切割脚本nginx

[root@wy ~]# vim /usr/local/nginx/sbin/nginx_logrotate.shvim

#!/bin/bashbash

d=`date -d "-1 day" +%F`ide

[ -d /tmp/nginx_log ] || mkdir /tmp/nginx_logspa

mv /tmp/access.log /tmp/nginx_log/$d.log日志

/etc/init.d/nginx reload >/dev/null 2>&1ip

cd /tmp/nginx_logit

gzip -f $d.logclass

解释说明:配置

date -d "-1 day" +%F 获得前一天的日期指定日期;

[ -d /tmp/nginx_log ] || mkdir /tmp/nginx_log     mv /tmp/access.log /tmp/nginx_log/$d.log这两行表示/tmp/nginx_log目录不存在就建立,而后把日志移动并重命名(标记日期时间的);

/etc/init.d/nginx reload从新加载nginx的配置文件,目的是: 日志移动过去以后,确定还要从新生成它(/tmp/access.log);

还能够再作一些后续的操做,好比日志比较大,咱们能够进行一下压缩gzip,-f的目的是若是你的日志已经存在过,已经压缩过,它确定会产生同名的一个压缩文件,它的目的就是不去提醒咱们,强制地覆盖。

备注:能够把此脚本放到任务计划中,天天凌晨去执行这个脚本

## 执行脚本

[root@wy ~]# sh -x /usr/local/nginx/sbin/nginx_logrotate.sh

++ date -d '-1 day' +%F

+ d=2016-11-10

+ '[' -d /tmp/nginx_log ']'

+ mv /tmp/access.log /tmp/nginx_log/2016-11-10.log

+ /etc/init.d/nginx reload

从新载入 Nginx:                                           [肯定]

+ cd /tmp/nginx_log

+ gzip -f 2016-11-10.log

## 查看到/tmp/access.log又回来了

[root@wy ~]# ls /tmp/access.log

/tmp/access.log

[root@wy ~]# cat !$

cat /tmp/access.log

## 查看到了日志压缩文件

[root@wy ~]# ls /tmp/nginx_log/

2016-11-10.log.gz

相关文章
相关标签/搜索