서버 및 운영/쉘스크립트
리눅스 프로세스 내려가면 자동으로 실행하는 스크립트
쉘스크립트를 이용해 프로세스 상태(켜져있는지 꺼져있는지)를 모니터링을 하다가 프로세스 카운트가 0 즉 프로세스가 꺼졌을 때 자동으로 실행하게 하는 스크립트입니다. 문제가 자주 발생하는 프로세스 수정 전 임시로 사용하면 좋을 듯 싶습니다. 여러개의 프로세스를 while문에 넣어주면 다수의 프로세스에 적용 가능합니다. #!/bin/sh while : do process=`ps -ef | grep test | grep -v "grep" | wc -l`#프로세스 명 수정필요 (현재 test) if [ ${process} -eq 0 ];then echo "process down" cd /home/hkkim2# 경로 설정 ./test.sh & #실행할 프로세스명 fi done 주석처리된 부분 변경하여 사용하시면 됩..
특정 로그 발생 시 프로세스 종료하는 스크립트
신규 프로그램 셋업이나 프로그램 유지보수 간 스크립트 사용 가능할 것으로 보이는데, 로그에서 error 메시지 발생하였을 때 자동으로 해당 프로세스 종료하는 쉘 스크립트입니다. 아래는 문제 발생했을 때 바로 프로세스 강제 종료(kill -9)하는 스크립트입니다. # 문제 발생시 해당 프로그램 곧바로 kill하는 스크립트입니다. #로그 발생 시 프로세스 종료하는 스크립트가 아니고 단순히 문제 발생한 프로세스를 종료하는 스크립트입니다. #!/bin/sh pgm="test" ps -ef|grep $pgm|grep -v grep|awk '{print "kill -9 "$2}'|sh -x 위 스크립트를 활용해서 특정 로그 발생 시 프로세스를 강제 종료하는 스크립트는 아래와 같습니다. (저는 특정로그를 error ..