使用shell脚本给日志文件瘦身

一、前言

后台系统运行久了,日志文件的体积日渐增多,除了使用常用的日志框架如logback对日志进行按天打印、按大小分割等方式外,还可以使用shell命令来对大日志进行瘦身。
本篇使用sed指令来对文件进行操作,具体操作如下:

二、步骤
2.1 创建脚本文件

首先在你需要的目录创建一个shell脚本,取名clean_log.sh

touch clean_log.sh
2.2 编辑内容

对这个文件进行编辑

vim clean_log.sh

然后把下面的内容复制进去

#!/bin/bash
# 只对日志行数大于这个值的文件进行操作
limit=50000
LOG_PATH='/home/xxx/logs'
# 遍历目录里面的log日志
for file in $LOG_PATH/*.log
do# 统计日志文件的行数total_lines=$(wc -l < $file)if [ "$total_lines" -gt "$limit" ];thenecho "$file"echo "lines: $total_lines"# 计算需要删除的行数,即总行数的80%lines_to_delete=$(echo "$total_lines * 0.8" | bc)# 四舍五入取整,如果lines_to_delete有小数点会无法执行lines=$(printf "%.0f" $lines_to_delete)echo "delete: $lines"# 使用sed命令删除前80%的行数sed -i "1,${lines}d" $filefi
done

保存,然后对这个脚本进行授权

2.2 授权
chmod 755 clean_log.sh
2.3 执行
./clean_log.sh
三、效果

效果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/222926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现进程间的通信

本例程是开发一款能实现进程通信的DLL。本例程以Visual Studio 2015为例。在Visual Studio 2013&#xff0c;Visual Studio 2017都是可以。 第一步&#xff1a;在Visual Studio 2015中&#xff0c;创建DLL工程。如何创建DL&#xff0c;在这里就不作具体说明了。百度都有许多创建…

国际语音群呼系统有哪些应用场景?

国际语音群呼可应用于广告营销、消息通知、客情维护、金融催收等场景&#xff0c;助力出海企业产品营销和品牌推广。 广告营销 出海企业可以通过国际语音群呼系统&#xff0c;向目标市场的潜在客户进行广告宣传。例如&#xff0c;企业可以在系统中录制有关产品的宣传语&#…

发展模式 Fortran 错误记录2023-12-15

/data/chengxl/CAS-ESM2.0-test1/models/atm/iap/src/physics/pbl_iap.F90(476): error #6236: A specification statement cannot appear in the executable section. real(r8) :: rrho(pcols) ! 1/rho m^3/kg -----^ 定义语句不能出现在可执行部分。 我忘记把临时写的定义…

外汇天眼:Coinbase国际交易所将启动现货市场

Coinbase宣布了Coinbase国际交易所扩张的下一阶段——退出符合条件客户的非美国现货市场。 这一最新发展旨在满足Coinbase全球用户群体的独特需求和需求&#xff0c;同时强化其扩大国际访问可信产品和服务的战略使命。 Coinbase国际交易所现货交易的推出和扩展将分阶段进行。1…

JS - 浅拷贝和深拷贝

目录 1&#xff0c;概念2&#xff0c;浅拷贝1&#xff0c;直接赋值2&#xff0c;Object.assign()3&#xff0c;扩展运算符4&#xff0c;数组 slice() 和 concat()5&#xff0c;jquery 中的 $.extend()6&#xff0c;lodash.clone() 3&#xff0c;深拷贝1&#xff0c;JSON.parse(…

Java数据类型相关

数据类型 Java有哪些数据类型 定义&#xff1a;Java语言是强类型语言&#xff0c;对于每一种数据都定义了明确的具体的数据类 型&#xff0c;在内存中分配了不同大小的内存空间。 分类&#xff1a; 基本数据类型 数值型 整数类型(byte,short,int,long) 浮点类型(float,dou…

【数据结构】模式匹配之KMP算法与Bug日志—C/C++实现

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《数据结构奇遇记》&#x1f516;墨香寄清辞&#xff1a;墨痕寄壮志&#xff0c;星辰梦未满。 通幽径心凝意&#xff0c;剑指苍穹势如山。 目录 &#x1f31e;1. 模式匹配的基本概念…

Spring Boot之自定义starter

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Spring Boot的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一. starter是什么 二.为什么要使…

计算机操作系统-第十六天

目录 线程的实现方式 用户级线程 内核级线程 多线程模型 一对一模型 多对多模型 多对多模型 本节思维导图 线程的实现方式 用户级线程 历史背景&#xff1a;早期操作系统只支持进程&#xff0c;不支持线程&#xff0c;当时的线程是由线程库实现的 本质&#xff1a;从…

【普中】基于51单片机简易计算器显示设计( proteus仿真+程序+设计报告+实物演示+讲解视频)

目录标题 &#x1f4df;1. 主要功能&#xff1a;&#x1f4df;2. 讲解视频&#xff1a;&#x1f4df;3. 设计说明书(报告)&#x1f4df;4. 仿真&#x1f4df;5. 实物烧录和现象&#x1f4df;6. 程序代码&#x1f4df;7. 设计资料内容清单 【普中开发板】基于51单片机简易计算器…

二叉树中的中序遍历、反向遍历和逆序

概念 中序遍历&#xff08;Inorder Traversal&#xff09;&#xff1a; 中序遍历是二叉树遍历的一种方式&#xff0c;它的顺序是左子树、根节点、右子树。对于一个二叉搜索树&#xff08;BST&#xff09;&#xff0c;中序遍历可以得到一个升序的节点序列。中序遍历的步骤是首先…

深度学习之模型权重

在深度学习中&#xff0c;模型的权重&#xff08;weights&#xff09;是指神经网络中的参数&#xff0c;这些参数用于调整和学习模型的行为&#xff0c;以便能够对输入数据进行有效的映射和提取有用的特征。深度学习模型通常由许多神经元和连接组成&#xff0c;而权重就是连接这…

processon使用及流程图和泳道图的绘画(登录界面流程图,门诊流程图绘制门诊泳道图,住院泳道图,OA会议泳道图),Axure自定义元件

目录 一.processon图形的使用场景介绍 二.流程图绘画 三.泳道图的绘画 1.绘制门诊流程图绘制门诊泳道图 2. 绘制住院泳道图​编辑 3.绘制药库采购入库流程图 4.绘制OA会议泳道图 四.Axure自定义元件 1.Axure载入元件库 一.processon图形的使用场景介绍 二.流程图绘画 示例&…

数字图像处理 - 使用Rembg库在Python中轻松删除背景

Python 中的 rembg 模块是一个用于去除图像背景的库。它基于Rembg算法,采用神经网络来执行背景去除任务。该算法经过训练,可以识别图像中的前景物体并将其与背景分开,从而产生具有透明背景的图像。 rembg库基于Rembg算法,该算法本身有一个有趣的历史。Rembg算法由研究员兼软…

鸿蒙开发组件之Web

一、加载一个url myWebController: WebviewController new webview.WebviewControllerbuild() {Column() {Web({src: https://www.baidu.com,controller: this.myWebController})}.width(100%).height(100%)} 二、注意点 2.1 不能用Previewer预览 Web这个组件不能使用预览…

C/C++函数调用栈信息输出(backtrace backtrace_symbols)

C/C函数调用栈信息输出&#xff08;backtrace & backtrace_symbols&#xff09; 最近工作&#xff0c;搞了一个死锁问题&#xff0c;加了好多输出无法定位问题。 就想着在锁操作调用的地方输出函数调用栈信息&#xff0c;试了一下&#xff0c;竟然实现了。 源代码 #incl…

《PCL多线程加速处理》-配准-icp

《PCL多线程加速处理》-配准-icp 一、效果展示二、具体实现三、代码一、效果展示 数据越大,速度提升效果越快 1、48万点 2、十万点 3、三万点 4、9000点 配准数据 二、具体实现

构建智能外卖跑腿小程序:技术实践与代码示例

在快节奏的现代生活中&#xff0c;外卖跑腿服务已成为人们日常生活中不可或缺的一部分。为了提供更智能、高效的外卖跑腿体验&#xff0c;本文将深入探讨构建一款智能外卖跑腿小程序所需的关键技术&#xff0c;并提供相应的代码示例。 1. 地理位置服务的整合 外卖跑腿小程序…

小程序 -网络请求post/get

1.1网络请求的概念(post和get) 1.2步骤 1.3 应用函数 js里面写&#xff0c;用bindtap绑在控件上&#xff0c;就不讲了 实例代码&#xff1a; //发起get数据请求get_info(){wx.request({url:https://www.escook.cn/api/get,//请求的接口地址,必须基于https协议//请求的方式met…

ElasticSearch之Shard request cache settings

对于查询操作&#xff0c;Elasticsearch提供了缓存特性来暂存结果。 对于相同条件的查询请求&#xff0c;在缓存中的数据失效前&#xff0c;响应后续的查询操作时可以直接从缓存中提取结果&#xff0c;有效降低检索操作的时延&#xff0c;提升检索数据时的体验。 提到缓存相关的…