OS/Fundamental
[Unix/Linux] 실시간 로그 파일 확인 후 종료 하는 방법(ending tail -f)
EstenPark
2016. 12. 16. 14:41
쉘 스크립트를 만들 때 로그 파일에서 정상 가동 되는 로그를 보고 다음 스탭으로 넘어가야 할 경우가 많습니다. 그럴 때 해당 로그를 실시간으로 보고 있다가 특정 문자열이 발생되면 종료하는 방법 입니다.
tail -f [log file]
위와 같은 명령어를 이용해서 실시간으로 로그를 볼 수 있지만, 안타까운 점은 종료 시점이 없이 계속 보기 때문에 사용자가 Ctrl+C를 누르기 전까지는 로그 내용이 올라올 것입니다.
./mariadb_db.sh start; tail /usr/local/log/mariadb.log -n0 -F | while read line; do if [[ $line =~ 'DB Started Completely' ]]; then pkill -9 -P $$ tail fi done;
수행하게 되면 로그 내용은 보여주지 않고 계속 보고 있다가 "DB Started Completely" 문구를 발견하게 되면 종료 합니다.
아주 간간하게 해볼 수 있는 방법입니다.