自动监控脚本

来源:互联网 发布:delete删除表数据 编辑:程序博客网 时间:2024/06/05 10:45

最近写了一个script,需要具有监控单板是否断电或者重启的功能,通过log的打印实现监控:

#!/bin/shalarmrate=28 # 备份目录的最大容量file_max_size=2 #1min# 每个日记的大小限制   1h =160log_dir=/home/log # 日记产出目录backup_dir=/home/backup # 日记备份目录SLEEPTIME=1if [ ! -d $log_dir ]then mkdir $log_dirfiif [ ! -d $backup_dir ]then mkdir $backup_dirfi#重命名logfilenameConvert(){timestamp=$(date +%Y%m%d%H%M%S)timestamp=`echo $timestamp`RETVAL=$1.$timestamp}#搜索时间最早的备份logsearchdir(){oldestlog=`ls -rt | head -1 | awk '{print $1}'`}#大于alarmrate则删除时间最早的备份logclear_old_log_under_backup_dir(){cd $backup_dirwhile [ 1 ]dologsize=`du -ks | awk '{print $1}'`if[ $logsize -gt $alarmrate ]thensearchdirrm -rf $oldestlogelsebreakfidone}#log处理过程;大于file_max_size时备份loglog_process(){cd $log_dirfor i in *docase $i inlyj.log)file_size=`du -k $i | awk '{print $1}'`if [ $file_size -gt $file_max_size ]thenecho "" > $log_dir/$ifilenameConvert $icp $log_dir/$i $backup_dir/$RETVALecho "" > $log_dir/$ifi;;*)echo "********";;esacdone}hello="Test start..."echo $helloecho "pls input current time(format:2015-08-07 12:00:01)"read TIMEif[ "$TIME"="" ]then echo "skip to set date."elsedate -s "$TIME"fiwhile [ 1 ]dohello=$(date +"%Y/%m/%s %H:%M:%S,hello.")echo $hellodate +"%Y/%m/%s %H:%M:%S,print hello every 10s." >> $log_dir/lyj.loglog_processclear_old_log_under_backup_dirsleep $SLEEPTIMEdone



0 0
原创粉丝点击