설치 로그를 모니터링하다가 귀찮아서 만들어 봄.

 

보통 작업할때 tail 명령어로 지금 생성되고 있는 로그화일 하나만 모니터링 하게 되는데..

특정 디렉토리 위치에 계속 화일 이름이 바뀌면서 시간순으로 쌓이고 있을때 매번 여는게 아니라 계속 끊김없이 보기 위해 만들어 보았다. (오라클의 경우 dbca 로그 등등)

 

- 단순하게 시간순으로 kill 하고 보면 되는거라 작동은 잘 되는듯 하다. (디렉토리 위치와 interval 5초만 수정하면 됨)

 

#!/bin/bash
DIR="/u01/app/oracle/cfgtoollogs/dbca/CDB"
LAST_FILE=""

while true; do
  NEW_FILE=$(ls -t "$DIR" | head -n 1)
  if [[ "$NEW_FILE" != "$LAST_FILE" ]]; then
    echo ">>> lastest file changed : $NEW_FILE"
    LAST_FILE="$NEW_FILE"
    pkill -P $$ tail 2>/dev/null   # previous process teminated
    tail -f "$DIR/$NEW_FILE" &
  fi
  sleep 5
done

Posted by pat98
이전버튼 1 이전버튼

01-21 13:36
Flag Counter
Yesterday
Today
Total

글 보관함

최근에 올라온 글

달력

 « |  » 2026.1
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

최근에 달린 댓글