前言网上有很多用kill -URS1的方式来让nginx产生新的日志文件,也有很多人抱怨这种方式是否正确,在这里我要告诉大家,这种方式非常正确。我看了系统自带的logrotates来实现nginx的日志分割,查看其bash源码,发现也是发送USR1这个信号。这里解释一下USR1这个用户自定义信号,经过和一淘我特别崇拜的一个牛人张洋确认后,发现ubuntu下大部分进程对这个信号的反应都是重新生成日志
原创
2014-07-04 15:57:00
725阅读
前言网上有很多用kill -URS1的方式来让nginx产生新的日志文件,也有很多人抱怨这种方式是否正确,在这里我要告诉大
转载
2012-12-04 15:42:00
83阅读
2评论
一、tomcat控制台日志(catalina.out)分割安装cronolog工具,默认位置/usr/sbin/cronologyum -y install cronologwhich cronlog #查看位置修改catalina.sh,对tomcat7大致位置在381-382和390-391两处第一处修改(381-382)将org.apache.catalina.startup.Bootstr
原创
2015-11-04 13:22:19
1151阅读
# Python脚本日志分割
作为一名经验丰富的开发者,我将教你如何实现Python脚本日志分割,帮助你更好地理解并掌握这一技术。本文将分为以下几个部分进行讲解:
1. 流程概述
2. 每一步的代码实现
3. 应用场景和注意事项
## 1. 流程概述
在开始编写代码之前,我们先来了解一下整个流程。下面的表格展示了日志分割的步骤:
| 步骤 | 描述 |
| --- | --- |
| 1
原创
2023-12-17 05:45:06
79阅读
===========================================================================================在apache的配置文件中找到ErrorLog logs/error_logCustomLog logs/access_log common=======================================
转载
精选
2015-08-26 10:14:51
922阅读
TimedRotatingFileHandler类的重点就在于log_file_handler = TimedRotatingFileHandler(filename=LOG_PATH+"thread_", when="D", interval=1, backupCount=7)这个初始化方法。filename是日志名,when是间隔时间单位,interval是间隔时间数值,backu
转载
2022-03-16 10:50:07
369阅读
nginx的日志有个小缺点,日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将导致日志文件非常大,不便于管理这就需要我们自己来实现了,按日期每天生产一个日志文件思路每天零点把默认日志文件改名为当天日期,再重新打开新的日志文件使用定时任务来执行脚本,脚本中执行改名和重新打开日志文件的操作向Nginx主进程发送 USR1 信号,就可以重新打开日志文件实现#/bin/bash#备份日志的路
原创
2021-04-23 15:44:43
768阅读
Linux nginx日志按天分割实例 nginx的日志有个小缺点,日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将导致日志文件非常大,不便于管理这就需要我们自己来实现了,按日期每天生产一个日志文件思路 每天零点把默认日志文件改名为当天日期,再重新打开新的日志文件使用定时任务来执行脚
原创
2022-07-22 15:25:40
368阅读
A. 使用 cronolog 为每一天建立一个新的日志
从 http://cronolog.org/download/ 可以下载 cronolog 程序,把下载到的 cronolog 程序并放到 Apache 的 bin 目录下(详细参数参见:http://cronolog.org/usage.html)
主配置文件中的使用方法
转载
精选
2013-04-01 15:29:36
819阅读
# 实现JAVA日志按周分割SHELL脚本教程
## 介绍
在开发中,我们通常会使用日志来记录程序运行时的信息。而日志文件的分割是非常重要的,以便于后续的查阅和分析。本文将向你介绍如何使用Shell脚本来实现JAVA日志按周分割的功能。
## 流程
以下是整个实现过程的步骤,我们将使用Shell脚本来完成每个步骤:
| 步骤 | 代码 | 说明 |
| ---- | ---- | ---
原创
2023-07-18 06:56:50
68阅读
1.初始化日志文件。对文件的大小进行判断和压缩 2.写日志
转载
2019-05-23 11:31:00
336阅读
2评论
我的博客已迁移到xdoujiang.com请去那边和我交流
1、日志结构
/opt/online/{123com,abccom}/log/online[1-9]/[a-z]
2、变量说明
#是否开启压缩功能(0:关闭,1:开启;若关闭压缩功能,则compressdayn无效)
needcompress=1
删除14天以前的日志
deldayn=14
前1天
lastdayn=1
服务类型
all
原创
精选
2015-05-19 17:29:25
2735阅读
需求实现进度回顾需求分析,有两个需求还未实现:显示当前的调用关系,这个功能在1.0中可以实现,但2.0中有更简便的方法重要信息换颜色展示,之前讨论过可以先搁置技术积累这部分名字或许该改成“点亮技能树”日志模块优缺点优点之前已在实现模块时做总结,上个图直接聊缺点缺点未能记录脚本执行全过程写脚本时潜意识预期:绝大多数逻辑都能顺利执行无需在意结果,只有主观认为需要记日志时才调用几个函数。例如:Info
原创
精选
2024-03-03 22:25:53
140阅读
日志模块1.0解决了要做什么和怎么做两个问题,2.0要解决的问题是怎么做的更好。针对1.0的不足,在改进思路的同时,更多使用Shell特性来实现需求。需求分析区分日志来源先把日志来源分为主被动和主动两种被动来源是指脚本执行全过程调试脚本一般使用bash -x script.sh,显示脚本执行全过程,输出是混合结果。例如:#!/bin/bash
ls -l /not_exist
ls -l /v
原创
2024-03-04 12:41:45
27阅读
曾经我的Shell脚本只有几十至上百行,几乎不需要写日志。后来脚本越来越复杂,“debug脚本报错” 和 “编写脚本后的调试” 占用了大量时间。站在SRE的角度,这些工作成为了“琐事”和“长尾问题”。于是写一个Shell脚本的日志模块,成为重要但不紧急的需求。日志模块1.0看起来有点简陋,因为它在十多年之前写成,回顾1.0是为总结方法和思路。需求分析把Shell脚本写日志的功能理解成echo "
原创
2024-03-03 18:39:32
51阅读
function log() {
echo >&2 -e "[$(date +"%Y-%m-%d %H:%M:%S")] ${1-}"
}
function die() {
local msg=$1
local code=${2-1} # Bash parameter expansion - default exit status 1
原创
2023-06-12 23:08:21
154阅读
具体实现方法改造Warn函数日志模块1.0的Warn函数实现了2个功能:记录日志和退出脚本。2.0中用Shell特性分别实现。1.0手工判断脚本执行是否出错,2.0使用bash -e开启错误检测模式。任何一行命令的返回值$?不为0,都会认为出错并退出。trap命令可以捕捉到上述错误,可以像注册回调函数一样,让trap调用函数记录日志#!/bin/bash
LogsDIR=logs
LogFile=
原创
精选
2024-03-04 13:22:16
128阅读
日志文件名规划如果日志文件名始终是log.log会有两个弊端。首先刚才的例子已经能看出,脚本多次执行日志都混在一起,查找之前某天某次的日志会变得很困难。其次日志文件体积会持续增长,清理某个时间点之前的日志会变得很困难。所以写入日志时需要加入日期时间等标记。加入日期时间假设大家已经精通date命令,日志文件名加日期时间需要在日志文件名中追加,如strLogPath="."
strLogName="l
原创
精选
2024-03-03 21:36:13
172阅读
具体实现方法记录脚本执行全过程前面讲过使用bash -x开启调试功能显示脚本执行全过程,与命令报错一起显示在标准错误。标准错误默认是终端,与标准输出混在一起,需要把标准错误重定向给日志文件。#!/bin/bash
LogsDIR=logs
LogFile=output.log
mkdir -p ${LogsDIR}
# 重定向标准错误
exec 2>>${LogsDIR}/${Log
原创
精选
2024-03-04 13:05:33
152阅读
按照前文的需求和设计,实现日志模块1.0。先展示最终效果,在脚本中调用Info Cau Warn记录日志:# 日志文件保存到"./log.log"
strLogPath="."
strLogName="log.log"
Info 正常信息
sleep 1
Cau 警告信息
sleep 1
Warn 错误信息,脚本退出
sleep 1
Info 不会执行到这里结果输出包含时间、PID、U
原创
精选
2024-03-03 21:26:44
147阅读