최신 로그 파일 을 감시 하 는 셸 스 크 립 트

오랫동안 블 로 그 를 써 본 적 이 없어 서 황폐 해 질 것 같 아 요. 빨리 업데이트 해 주세요...
큰 프로젝트 스 크 립 트 를 디 버 깅 할 때, 실행 할 때마다 새로운 로그 파일 이 생 긴 다음 에 자주 오류 가 발생 하기 때문에, 매번 해당 하 는 새로운 로그 파일 을 찾 아 그곳 에 문제 가 생 겼 는 지 확인 해 야 한다. 매우 번거롭다.
그래서 이 럴 때 스 크 립 트 가 유용 합 니 다. 아래 스 크 립 트 는 로그 디 렉 터 리 에서 마지막 으로 수 정 된 파일 을 감시 하 는 데 사 용 됩 니 다.
#! /bin/bash

help()
{
cat<<HELP
Usage:
-p file path; default path is "log/"
-h help

HELP
exit 0
}

filebase="log/"

while [ -n $1 ]
do
  case $1 in
  -h) help;;
  -p) filebase=$2;shift 2;;
  -*) echo "input error!"; exit 1;;
  *) break;
  esac
done

dir=$(ls $filebase)
num=${#dir[*]}
newestfile=${dir[0]}

i=1
while [ $i -lt $num ]
do
  if [ "$filebase$newestfile" -ot "$filebase${dir[$i]}" ]
  then newestfile=${dir[$i]}
  fi
  i=`expr $i + 1`
done

echo "the newest log is $newestfile"

tail -f $filebase$newestfile

테스트 스 크 립 트:
#! /bin/bash
touch ./log/test
firsttime=`date +%s`
while true
do
  secondtime=`date +%s`
  if [ $firsttime -lt $secondtime ]
  then   echo $secondtime >> ./log/test
  firsttime=$secondtime  
  fi
done

좋은 웹페이지 즐겨찾기