반응형
신규 프로그램 셋업이나 프로그램 유지보수 간 스크립트 사용 가능할 것으로 보이는데,
로그에서 error 메시지 발생하였을 때 자동으로 해당 프로세스 종료하는 쉘 스크립트입니다.
아래는 문제 발생했을 때 바로 프로세스 강제 종료(kill -9)하는 스크립트입니다.
# 문제 발생시 해당 프로그램 곧바로 kill하는 스크립트입니다.
#로그 발생 시 프로세스 종료하는 스크립트가 아니고 단순히 문제 발생한 프로세스를 종료하는 스크립트입니다.
#!/bin/sh
pgm="test"
ps -ef|grep $pgm|grep -v grep|awk '{print "kill -9 "$2}'|sh -x
위 스크립트를 활용해서 특정 로그 발생 시 프로세스를 강제 종료하는 스크립트는 아래와 같습니다.
(저는 특정로그를 error 로 지정 하였고 프로세스 명은 test 로 지정하였습니다.)
#프로그램에 error 로그 발생할 경우 해당 프로그램 강제종료
#!/bin/sh
PGM="test"
tail -f /home/hkkim/program.log | while read line; do
if [[ $line =~ 'error' ]];then
ps -ef|grep $PGM|grep -v grep|awk '{print "kill -9 "$2}'|sh -x
fi
done;
ps -ef|grep $PGM|grep -v grep|awk '{print "kill -9 "$2}'|sh -x
이 부분만 수정하면 error 로그 발생하였을 때 원하는대로 조치가 가능합니다.
띄어쓰기에 주의하시길 바랍니다.
감사합니다.
'서버 및 운영 > 쉘스크립트' 카테고리의 다른 글
리눅스 프로세스 내려가면 자동으로 실행하는 스크립트 (0) | 2022.05.03 |
---|