nginx访问日志切割脚本

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

1、说明

随着时间的增加,nginx 的访问日志会越来越大,下图是新部署的线上 zabbix 监控网站运行了十几天左右产生的访问日志达到213M。

wKioL1hJDW2AYqn8AAA0SQ0ucqY181.png


所以必须进行日志分割,要求如下:

1、每天的日志单独生成一个文件

2、保留30天的访问日志


 

2、编写脚本

vim /usr/local/nginx/logs/nginx_log_rotate.sh

#! /bin/bash

 

logs_path="/usr/local/nginx/logs/"

log_name="access.log"

pid_path="/usr/local/nginx/logs/nginx.pid"

 

#日志文件集中存放的路径

[ -d /usr/local/nginx/logs/access_log ] || mkdir /usr/local/nginx/logs/access_log

access_logs_path="/usr/local/nginx/logs/access_log/"

 

#移动日志

mv ${logs_path}${log_name} ${access_logs_path}$(date --date="yesterday"+"%Y-%m-%d")_${log_name}

 

#生成新的access.log文件

kill -USR1 `cat ${pid_path}`

 

#删除一个月之前的日志

cd ${access_logs_path}

find . -ctime +30 -name "*access.log" |xargs rm -f

exit 0

脚本增加可执行权限

chmod a+x /usr/local/nginx/logs/nginx_log_rotate.sh

 

3、加入计划任务

每天凌晨运行脚本

crontab -e

00 00 * * * /usr/local/nginx/logs/nginx_log_rotate.sh

重启crond服务

service crond restart



运行脚本会生成 access_log 文件夹,下图是到今天为止的所有日志

wKioL1hJEAqSE7H6AABooLD1hZY944.png




      本文转自M四月天 51CTO博客,原文链接:http://blog.51cto.com/msiyuetian/1880769,如需转载请自行联系原作者








相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
296 90
|
2月前
|
域名解析 应用服务中间件 网络安全
阿里云个人博客外网访问中断应急指南:从安全组到日志的七步排查法
1. 检查安全组配置:确认阿里云安全组已开放HTTP/HTTPS端口,添加规则允许目标端口(如80/443),授权对象设为`0.0.0.0/0`。 2. 本地防火墙设置:确保服务器防火墙未阻止外部流量,Windows启用入站规则,Linux检查iptables或临时关闭防火墙测试。 3. 验证Web服务状态:检查Apache/Nginx/IIS是否运行并监听所有IP,使用命令行工具确认监听状态。 4. 测试网络连通性:使用外部工具和内网工具测试服务器端口是否开放,排除本地可访问但外网不可的问题。 5. 排查DNS解析:确认域名A记录指向正确公网IP,使用`ping/nslookup`验证解析正
101 2
|
7月前
|
Java Shell
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
107 1
|
6月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
381 60
|
6月前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
465 60
|
5月前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
1922 8
|
5月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
465 4
|
6月前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
6月前
|
Web App开发 算法 应用服务中间件
nginx开启局域网https访问
【10月更文挑战第22天】为了调试WebRTC功能,需要在局域网内搭建HTTPS协议。具体步骤包括:在已部署Nginx和安装OpenSSL的环境中生成私钥、证书签名请求和自签名证书;将生成的文件放置到Nginx的证书目录并修改Nginx配置文件,最后重启Nginx服务。注意,自签名证书不受第三方机构认可,如需正式使用,需向CA申请签名。
238 2
|
运维 应用服务中间件 Shell
Nginx安装与虚拟主机配置shell脚本
Nginx安装与虚拟主机配置shell脚本
88 0