nginx 日志切割
1.ngnix 是一个良好的页面服务器,适用于高并发场景,无论什么系统日志是非常重要的,它能有助于我们分析一些问题。
首先我们查看nginx 配置nginx.conf ,配置文件有几个区间模块,比如我们工作线程配置,http配置等,下面我们就已最熟悉的http作为讲解。
server {
listen 8080;
server_name 192.168.1.204;
location / {
root /var/www/html8080;
index index.html;
}
access_log /logs/ demo.log main
}
上面是一个普通配置,那么在我们生产环境中,可能有很大访问量,那么日志文件会暴增,此时我们就有必要动态生成一些日志文件,这跟我们log4j同理。那么nginx怎么去配置日志分割呢?
1.首先我们要想,我们日志可不可以通过日期进行自动生成比如z.com.20190224.log(域名+日期)
2.那么首先我们创建一个shell脚本,access_log.sh
简单思路:首先我们设置日志生成规则,然后定时,将已生成log备份,重新创建新的日志
base_path='/usr/local/nginx/logs'
log_path=$(date -d yesterday +"%Y%m")
day=$(date -d yesterday +"%d")
mkdir -p $base_path/$log_path
mv $base_path/access.log $base_path/$log_path/access_$day.log
#echo $base_path/$log_path/access_$day.log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
同时我们方便测试可以每分钟执行一次:
crontab -e 编辑定时脚本 */1 * * * *