nginx日志切割

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

1. 编辑脚本

    说明:date -d "-1 day" 表示昨天; %F表示年月日以Y%-m%-d形式;[-d ]表示判断是否有这个目录,如果没有就或关系,创建该目录;将每日的access.log文件挪到创建的目录/tmp/nginx_log/中,并命名为d变量的格式;reload用于重新生成acces.log,并重定向清空;考虑到切割的日志比较大,gzip -f判断日志是否存在,如果存在,则进行强制压缩(如果一天执行多次,该文件已经存在并压缩过,则会同名,-f覆盖不提示)


   vim /usr/local/sbin/nginx_logrotate.sh

1
2
3
4
5
6
7
8
#! /bin/bash
# author by huangzhenping
d=` date  -d  "-1 day"  +%F`
[ -d  /tmp/nginx_log  ] ||  mkdir  /tmp/nginx_log
mv  /tmp/access .log  /tmp/nginx_log/ $d.log
/etc/init .d /nginx  reload >  /dev/null
cd  /tmp/nginx_log/
gzip  -f $d.log



2. 日志切割脚本加入crond任务计划列表

1
0 0 * * *  /bin/bash  /usr/local/sbin/nginx_logrotate .sh


3. 定期删除日志,crond计划列表

1
0 0 * * *  find  /tmp/nginx_log/  - type  f -mtime +10 | xargs  rm









本文转自 huangzp168 51CTO博客,原文链接:http://blog.51cto.com/huangzp/1900638,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
24天前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
|
4月前
|
应用服务中间件 nginx
nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
【8月更文挑战第27天】nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
389 6
|
4月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
4月前
|
存储 监控 应用服务中间件
查看nginx日志文件
器性能和提高网站可用性。掌握日志文件的路径、查看方法和基本分析技能对于任何服务器管理员来说都是必备技能。
189 1
|
4月前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
44 4
|
4月前
|
存储 应用服务中间件 nginx
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
173 0
部署ELK+filebeat收集nginx日志
|
4月前
|
应用服务中间件 Linux nginx
Nginx log 日志文件较大,按日期生成 实现日志的切割
Nginx log 日志文件较大,按日期生成 实现日志的切割
933 0
|
4月前
|
应用服务中间件 nginx
[nginx]日志中记录自定义请求头
[nginx]日志中记录自定义请求头
|
4月前
|
应用服务中间件 Shell nginx
shell分析nginx日志的一些指令
shell分析nginx日志的一些指令
|
4月前
|
应用服务中间件 Shell Linux
使用logrotate定期切割nginx日志
使用logrotate定期切割nginx日志
178 0