Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101620
  • 博文数量: 26
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-06 01:47
文章分类

全部博文(26)

文章存档

2009年(7)

2008年(19)

我的朋友

分类:

2008-10-15 02:45:23

有时候我们在工作中会定时生成日志文件,我现在希望通过检查生成日志文件的时间间隔来确定我的日志文件是否按时生成了,可以用下面这个脚本。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) |
给主人留下些什么吧!~~