NGINX日志文件按日分割成单独文件的方法

LogicCascade
• 阅读 3905

NGINX日志文件按日分割成单独文件的方法

  • 原理
    Nginx日志并不能像apache一样可以按日生成,但是我们可以用脚本方法来实现
  • 创建分割脚本在每晚12点整执行
# 打开linux计划任务
crontab -e
# 输入以下代码
00 00 * * * /bin/bash /data/web/vhost/log/cutLog.sh
  • 创建cutLog.sh脚本文件
#!/bin/bash
#此脚本用于自动分割Nginx的日志,包括access.log和error.log
#每天00:00执行此脚本 将前一天的access.log重命名为access-xxxx-xx-xx.log格式,并重新打开日志文件
#Nginx日志文件所在目录

LOG_PATH=$(cd `dirname $0`; pwd)

#获取昨天的日期
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)

#获取pid文件路径
PID=/usr/local/nginx/logs/nginx.pid

#分割日志
mv ${LOG_PATH}/access.log ${LOG_PATH}/access-${YESTERDAY}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/error-${YESTERDAY}.log

#向Nginx主进程发送USR1信号,重新打开日志文件
kill -USR1 `cat ${PID}`
  • 文件的执行权限
chmod -R 0777 cutLog.sh

注意修改上方脚本中的相关日志路径,以及nginx.pid路径

点赞
收藏
评论区
推荐文章
DevOpSec DevOpSec
4年前
nginx配置系列-日志切割
nginx配置系列日志切割背景nginx日志中我们希望日志能够每天或者每小时自动切割,nginx本身没有提供自动切割的机制,但是我们可以通过脚本或者稍加改造让其具备这种能力。下面让我们看看怎么操作吧。日志切割常见做法有四种,在我们做之前我们来学习一下nginx日志中常用的内置变量字段都是什么意思nginx内置变量
Stella981 Stella981
3年前
Nginx 502 Bad Gateway 的错误的解决方案
我用的是nginx反向代理Apache,直接用Apache不会有任何问题,加上nginx就会有部分ajax请求502的错误,下面是我收集到的解决方案。一、fastcgi缓冲区设置过小 出现错误,首先要查找nginx的日志文件,目录为/var/log/nginx,在日志中发现了如下错误 2013/01/1713:33:47\err
Wesley13 Wesley13
3年前
LNMP架构之访问日志、日志切割、静态文件不记录及过期时间设置
本文索引:Nginx访问日志Nginx日志切割静态文件不记录日志和过期时间Nginx访问日志修改nginx配置文件root@localhostvhostvim/usr/local/nginx/conf/nginx.conf搜索:/log_format
Stella981 Stella981
3年前
Linux下nginx日志文件切分
背景:公司为了日后排查等多种原因考虑,需要开启ngxin的accesslog,但是由于可能会造成access.log文件过大,不方便查看,故将该文件按天切分。本文将采用系统自带的logrotate进行日志切分,具体脚本如下:步骤1:vi/etc/logrotate.d/nginx脚本内容如下/usr/local/ngi
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Stella981 Stella981
3年前
Shell 脚本自动监控重启 httpd 服务并记录日志
环境CentOS7思路设置一个死循环,执行脚本时开始启动httpd服务,同时开始记录当前时间,然后输出到日志中,再sleep14秒,之后马上开始停止httpd服务,同时开始记录当前时间,然后输出到日志中。重复这个死循环。代码用vitest.sh打开文件,按i进行编辑,输入下面代码:
Stella981 Stella981
3年前
Linux日志安全分析技巧
0x00前言我正在整理一个项目,收集和汇总了一些应急响应案例(不断更新中)。GitHub地址:https://github.com/Bypass007/EmergencyResponseNotes本文主要介绍Linux日志分析的技巧,更多详细信息请访问Github地址,欢迎Star。0x01日志简介Lin
Lua将Nginx请求数据写入Kafka——埋点日志解决方案
缘起有一个埋点收集系统,架构是NginxFlume。web,小程序,App等客户端将数据报送至Nginx,Nginx将请求写入本地文件,然后Flume读取日志文件的数据,将日志写入Kafka。这个架构本来没什么问题,但是部署在K8s容器就有问题了,当前一
python定时任务执行shell脚本切割Nginx日志-慎用
Python定时任务执行shell脚本切割Nginx日志(慎用)缘起我们有一个Nginx服务用来接收埋点上报数据,输出的日志文件比较大,Nginx没有自带日志分割组件,这样输出的日志文件就比较大,抽取日志就比较麻烦。网上切割日志的方式一般就两种:logra
美凌格栋栋酱 美凌格栋栋酱
4个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
LogicCascade
LogicCascade
Lv1
莫愁前路无知己,天下谁人不识君。
文章
4
粉丝
0
获赞
0