Nginx日志轮询切割
默认情况Nginx会把所有的访问日志生成到一个指定的访问日志文件access.log里,但这样一来,时间长了就好导致文件很大,不利于分析日志和处理,所以就有必要对Nginx按天或者按小时进行切割成不同的文件保留。
Nginx日志轮询按天切割:
1. 编写脚本
[root@web01 scripts]# vim cut_nginx_log.sh
#!/bin/sh
cd /application/nginx/logs
/bin/mv www_access.log www_access_$(date +%F -d '-1day').log
/application/nginx/sbin/nginx -s reload
2. 执行脚本,测试
[root@web01 scripts]# /bin/sh /server/scripts/cut_nginx_log.sh
[root@web01 scripts]# ls /application/nginx/logs/
access.log error.log nginx.pid www_access_2018-07-02.log www_access.log
3. 添加定时任务
[root@web01 scripts]# crontab -e
00 00 * * * /bin/sh /server/scripts/cut_nginx_log.sh >/dev/null 2>&1
注:Nginx常用日志收集及分析工具有rsyslog、awstats、flume、ELK、storm等。