因为nginx没有像apache一样,有自带的切割日志工具。所以需要借助脚本来完成。
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 #-f为强制覆盖,压缩日志
最后加入计划任务中,让每天凌晨0:0:0执行
crontab -e 然后添加 0 0 * * * /usr/local/sbin/nginx_logrotate.sh
原文地址:http://llzdwyp.blog.51cto.com/6140981/1694221