基本原理:
在凌晨0点0分讲老日志文件重命名,新的日志写到原文件名中。
由于nginx即使重命名还是会写到新文件名里面,需要向nginx主进程发送USR1信号,重新启动日志处理程序。这里没有重启主进程。
$ vim nginx_log_cut.sh
mv /home/wwwlogs/access.log /home/wwwlogs/access/access_$(date -d "yesterday" +"%Y-%m-%d_%H-%M-%S").log
sudo kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
find /home/wwwlogs/access -mtime +7 | xargs rm -f
最后一句删除七天前的数据备份
定时任务:
$ crontab -e
0 0 * * * bash /home/ubuntu/web/nginx_log_cut.sh
网友评论