说明:调用cron定时任务,每天凌晨0点跑一次脚本,通过mv原log到新文件,然后nginx -s reload 来生成新的日志文件。通过find查找7天前日志,然后删除
脚本内容和说明:
#!/bin/bash
#tommy lin
#2017-2-19
#nginx日志切割按天,删除7天以前日志
NGINX_DIR=/usr/local/nginx
#定义nginx的目录
LOG_NAME=www.iyunw.cn_access.log
#定义nginx log名字
DATE=`date -d '1 days ago' +%F`
#由于时间是前一天,所以要写成1 days ago
LOG_DIR=/home/wwwlogs
#定义日志目录
mv $LOG_DIR/$LOG_NAME $LOG_DIR/$DATE-$LOG_NAME
#移动日志到以时间名的日志
$NGINX_DIR/sbin/nginx -s reload
#通过reload来生成新的日志
find $LOG_DIR -mtime +7 |xargs rm -f
#查找7天前的日志删除
添加如下定时任务
[root@VM_87_96_centos shell]# crontab -l
1 0 * * * /root/shell/nginx_log.sh >>/root/shell/nginx_log.sh &
参考链接 :
https://www.iyunw.cn/archives/nginx-mei-ri-ri-zhi-qie-ge-jiao-ben/