1、新建脚本文件

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 #重新加载nginx配置文件否则不再生成日志

cd /tmp/nginx_log/

gzip -f $d.log #-f表示不提醒强制覆盖

2、执行脚本

3、可以看到/tmp/nginx_log底下已经生成一个压缩文件并且/tmp/access.log文件已经没有内容

2016-05-29.log.gz 

4、将此脚本加到到任务计划