Shell文件大小監控腳本

 
#! /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 &

使用說明:bash

這一腳本可用以監控單個文件在特定時間區間的增加狀況,須要配合crontab使用。this

關於logRotate的方案,可根據實際狀況自行調整。spa

待開發:發現單個文件大小增加異常時,發送郵件告警!code

logSizeMonitor.log
相關文章
相關標籤/搜索