有时候我们在工作中会定时生成日志文件,我现在希望通过检查生成日志文件的时间间隔来确定我的日志文件是否按时生成了,可以用下面这个脚本。LOGFILE是为了测试,把日志文件名放到这个文件中。实际工作中,可以通过指定一个目录参数来找到该目录下符合条件的文件。
#!/bin/bash
DIR=$1 LOGFILE=$2
if [ $# -ne 2 ] then echo "$0: missing destination file path!" echo "[Command Format is]: $0 " exit 1 fi DIR=${DIR%/*} declare -a file=(`ls -la $DIR/*$LOGFILE*|awk '{print $7}' 2>/dev/null`) if ((${#file[*]}<=0)) then echo "unable to find any files!" exit 1 fi FIRSTFILE=${file[0]} #Time span SPAN=0
#FLAG=0 SPAN is equal; FLAG=1 SPAN is not equal;FLAG=2 is error FLAG=2
for((i=1;i<${#file[*]};i++)) do if [ $[$(date -d "$FIRSTFILE" +%s) + $SPAN] -eq $(date -d "${file[$i]}" +%s) ] then FIRSTFILE=${file[$i]} #echo $FIRSTFILE,${file[$i]} FLAG=0 else FLAG=1 break fi
done
case $FLAG in 0) echo "Time Span is Same" ;;
1) echo "Time Span is NOT Same" ;; *) echo "Error" ;; esac
|
阅读(946) | 评论(0) | 转发(0) |