Shell文件大小监控脚本

1
 
复制代码
#! /bin/bash
#This script can be used to monitoring the increased size of a file automatically by using Crontab to run it routinely.
#If you need to monitor the result of it, you can add monitor to this log-file by using Watchdog.
#Use log rotate to rotate this "logSizeMonitor.log"
time_now=`date "+%Y-%m-%d %H:%M:%S"` time_bef=$(date --date="1 hour ago" +"%Y-%m-%d %H:%M:%S") logfile=./logSizeMonitor.log #the log the you need to monitor hca_server_logs="/home/shirley/hca-server.log" size=`ls -l $hca_server_logs`; size=${size#*'r '}; size=${size%% *}; lastN=`cat $logfile | tail -1`; if [ "$lastN" = "" ]; then lastN=0 fi add_h=$[($size-$lastN)/1048576]; size_h=$[$size/1048576]; note="From ${time_bef} to ${time_now}, log has increased: $add_h M, and the log size now is : $size_h M;"; echo $note >> $logfile #If the log size has increased more than 100 M during the last one hour, then write log as KO! if [ $add_h -gt 100 ]; then echo "KO" >> $logfile else echo "OK" >> $logfile fi echo $size >> $logfile &
复制代码

使用说明:

这一脚本可用以监控单个文件在特定时间区间的增长情况,需要配合crontab使用。

关于logRotate的方案,可根据实际情况自行调整。

待开发:发现单个文件大小增长异常时,发送邮件告警!

logSizeMonitor.log
posted @   雪梨大佬  阅读(608)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示