当前位置: 首页 > news >正文

Shell自动化日志维护脚本

简介:

系统日志对于了解操作系统的运行状况、故障排除和性能分析至关重要。然而,长期积累的日志文件可能变得庞大,影响系统性能。在这篇文章中,我们将介绍一个自动化的解决方案,使用 Bash 脚本来监控和维护系统日志文件,以确保它们的大小合理,避免磁盘爆满,并保持内容的整洁和高效。

问题背景:

在使用ELK日志收集海量日志时,服务器系统里日志文件会随着时间变的越来越大,如果不定时清理旧数据,长期下去会导致磁盘爆满影响系统运行。

脚本原理:

使用Bash 脚本遍历循环检查日志文件夹里所有文件大小,超过设定阈值就自动清空。

定时任务调度:

使用 crontab 定时任务,将脚本定期执行,确保日志维护持续进行。

crontab -e
0 0 * * * /usr/local/scripts/monitor_log.sh

注意事项: 该脚本执行时间不可以低于日志文件大小最小值,间隔尽可能长,例如每隔一天执行一次。

脚本如下

#!/bin/bash# 指定要监视日志的文件夹
watch_folder="/var/log/zccpe"# 阈值文件大小(500M)
threshold_size=$((500*1024*1024)) # 500M in byteswhile true; do# 获取文件夹下所有文件files=("$watch_folder"/*)for file_to_watch in "${files[@]}"; doif [ -f "$file_to_watch" ]; then# 获取文件大小(以字节为单位)file_size=$(wc -c < "$file_to_watch")if [ "$file_size" -ge "$threshold_size" ]; then# 当文件大小达到或超过阈值时,删除前1天的行sed -i '1,691200d' "$file_to_watch"fifidonebreak # 退出循环# 休眠一段时间再次检查(例如,每小时检查一次)#sleep 86400 # 3600秒 = 1小时
done
http://www.lryc.cn/news/153345.html

相关文章:

  • 设计模式入门笔记
  • 存储成本降低85%,携程历史库场景的降本实践
  • 如何精确掌握函数防抖和函数节流的使用?
  • 【Linux系列】离线安装openjdk17的rpm包
  • Python 没有 pip 包问题解决
  • 并发-Java中的锁(二)--- 重入锁ReentrantLock,公平锁,非公平锁笔记
  • LeetCode每日一题:1921. 消灭怪物的最大数量(2023.9.3 C++)
  • SpringBoot连接MySQL数据库,使用Mybatis框架(入门)
  • 滑动窗口实例6(找到字符串中所有字母异位词)
  • 武林新秀(一)`git init` 初始化一个新的Git仓库
  • gRPC之Interceptor
  • 计算机竞赛 基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉
  • ELK安装、部署、调试 (七)kibana的安装与配置
  • 【Npm】的安装和使用教程
  • 22.3D等距社交媒体菜单的悬停特效
  • 音视频开发常用工具
  • 【leetcode 力扣刷题】字符串匹配之经典的KMP!!!
  • C#的反射机制
  • 浅谈城市轨道交通视频监控与AI视频智能分析解决方案
  • 【LeetCode每日一题合集】2023.8.14-2023.8.20(⭐切披萨3n块披萨)
  • 通过ref 操作dom , 点击按钮后跳转到页面指定图片位置
  • QT 设置应用程序图标
  • 牛客网刷题
  • ES6核心语法
  • python 之import与from import 导入库的解析与差异
  • python实现MQTT协议(发布者,订阅者,topic)
  • 2023年09月03日-----16:58
  • HTTP状态码504(Gateway Timeout)报错原因分析和解决办法
  • 《凤凰架构》第三章——事务处理
  • 音视频添 加水印