Nginx日志每天自动分割

实现的功能是在每天凌晨00:00把前一天的Nginx日志access.log重命名为access-xxxx-xx-xx.log格式,例如:access-2016-10-01.log。
nginx日志按每分钟自动切割脚本如下:
新建shell脚本:vim /usr/local/nginx/nginx_log.sh

#!/bin/bash
#设置日志文件存放目录
LOG_HOME="/usr/local/nginx/logs/"
#备分文件名称
LOG_PATH_BAK="$(date -d yesterday +%Y-%m-%d)"
#重命名日志文件
mv ${LOG_HOME}/access.log ${LOG_HOME}/${LOG_PATH_BAK}.access.log
mv ${LOG_HOME}/error.log ${LOG_HOME}/${LOG_PATH_BAK}.error.log
#向nginx主进程发信号重新打开日志
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

安装crontab: yum install vixie-cron
       yum install crontabs
查看crontab服务状态:service crond status
手动启动crontab服务:service crond start
开机自启动 :chkconfig --level 35 crond on
然后配置crontab每天凌晨00:00定时执行这个脚本
crontab -e
0 0 * * * bash /usr/local/nginx/nginx_log.sh
然后重启nginx:/usr/local/nginx/sbin/nginx -s reload

原文地址:https://www.cnblogs.com/Harve/p/8796434.html