UX 监控多个目录下的产生的log文件个数

/home/ap/logs目录下有多个AppServer目录,如AppServer0、AppServer1、AppServer2……,只监控除了AppServer0目录以外其他AppServer目录下的log文件,统计AppServer目录下log文件产生的个数。由于每个AppServer目录下的log文件只保存10个(log、log.1、log.2……),超过10个log时,会把最早的log文件删了。

脚本中通过对比log.1文件的大小和创建时间来确定是否生成了一个新的log文件,并且把创建时间输出到tmp/AppServerx?.txt 文件中

#!/bin/bash DIR="/home/ap/logs" cd $DIR #取出除了AppServer0以外的AppServer目录名,并且存到AppServerx数组中# AppServerx=(`ls -d AppServer[^0]`) AppServern=`echo ${#AppServerx[*]}` #循环算出所有AppServer目录中log.1文件的初始时间# for ((i=0;i<"$AppServern";i++));do    eval OLD${i}=`ls -l ${AppServerx[$i]}/log.1|awk '{print $5"_"$8}'` done #死循环,算出当前AppServer目录中log.1文件的时间和初始时间对比# while true;do   for ((i=0;i<"$AppServern";i++));do     sleep 3     TIME=`date +"%Y-%m-%d %H:%M:%S"`     CURRENT=`ls -l ${AppServerx[$i]}/log.1|awk '{print $5"_"$8}'`     A=$(eval echo \$OLD$i) #如果log.1文件当前时间和初始时间不同,就把当前时间记录到AppServer.txt文件中,代表产生了一个新的log文件#     if [ $A != $CURRENT ];then       eval OLD${i}="$CURRENT"       eval echo \$OLD$i       echo "$TIME" >>/tmp/${AppServerx[$i]}.txt     fi   done done

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/501ce22a9db56e2a8e7f694c0099ea3b.html