셸 스 크 립 트 는 tomcat 서비스 운행 상 태 를 모니터링 하고 서비스 가 종료 되면 다시 시작 합 니 다.

4361 단어 shell
최근 에 한 프로젝트 를 유지 할 때 tomcat 가 한 동안 실행 한 후에 자동 으로 멈 추 는 상황 이 자주 발견 되 어 정상 적 인 생산 거래 에 영향 을 주 고 어 쩔 수 없 이 tomcat 가 자동 으로 닫 히 는 원인 을 찾 지 못 하기 전에 셸 스 크 립 트 로 실시 간 으로 모니터링 해 야 합 니 다.tomcat 가 실행 되 지 않 은 것 을 발견 하면 startup. sh 를 실행 하여 tomcat 를 시작 합 니 다. 다음은 스 크 립 트 원본 코드 를 붙 입 니 다.
#!/bin/sh
date=`date +"%Y-%m-%d %H:%M:%S"`
##tomcat的进程数,由于脚本名称为monitor_tomcat.sh,所以排除了对monitor_tomcat的搜索
count=`ps -ef|grep tomcat|grep -v "grep"|grep -v "monitor_tomcat"|wc -l`
##监控脚本日志存放路径
recorddir=/mnt/monitor_logs
##监控脚本日志文件名称
recordfile=monitor.`date +%Y-%m-%d`.log
##tomcat启动文件所在路径
tomcaturl=/mnt/jiaofu/tomcat/bin
##normal--正常运行;upgrade--升级
usefor=normal

if [ ! -d ${recorddir} ] ; then
    mkdir -p ${recorddir}
fi

if [ "${usefor}" == "normal" ] ; then
    if [ ${count} -gt 0 ] ; then
        echo "${date},tomcat服务运行正常!">>${recorddir}/${recordfile}
    else
        sh ${tomcaturl}/startup.sh
    echo "${date},重启了tomcat服务!">>${recorddir}/${recordfile}
    fi
elif [ "${usefor}" == "upgrade" ] ; then
    echo "${date},系统升级,不需要重新启动tomcat服务!">>${recorddir}/${recordfile}
else
    echo "${date},参数配置异常,请检查usefor参数!">>${recorddir}/${recordfile}
fi

스 크 립 트 설명: 1. recorddir =/mnt/monitorlogs 는 이 모니터링 스 크 립 트 가 만 든 로 그 를 저장 하 는 폴 더 입 니 다. 사용 할 때 지정 해 야 하지만 수 동 으로 만 들 필요 가 없습니다 (스 크 립 트 에서 자동 으로 생 성 됩 니 다).2. tomcaturl =/mnt/jiaofu/tomcat/bin 은 tomcat 의 bin 디 렉 터 리 경로 로 실제 상황 에 따라 설정 해 야 합 니 다.3. usefor = normal, 서버 업 그 레이 드 를 진행 할 때 usefor 를 upgrade 로 설정 하여 스 크 립 트 가 서버 를 다시 시작 하지 않도록 해 야 합 니 다.(예 를 들 어 tomcat 의 포트 를 감시 하고 어느 포트 가 감청 되 지 않 았 는 지 판단 하면 이 포트 가 tomcat 인 스 턴 스 에 대응 하 는 지, 실행 되 지 않 으 면 다시 시작 합 니 다.)
스 크 립 트 가 끝 났 습 니 다. 다음은 스 크 립 트 를 설치 하 는 것 입 니 다. 1. 먼저 스 크 립 트 를 서버 의 해당 위치 에 업로드 합 니 다. 예 를 들 어/home/shell 경로 에서 2. Liux 계획 작업 추가: 1) crontab - e 를 추가 하고 그 안에 넣 습 니 다:/5 * * * sh/home/shell/monitortomcat. sh 는 이 스 크 립 트 를 5 분 에 한 번 씩 2) crond 서 비 스 를 다시 시작 하여 효력 을 발생 시 킵 니 다. service crond restart 3) 추 가 된 계획 작업 을 보고 이번 추가 성공 을 확보 합 니 다: crontab - l, 방금 추 가 된 부분 을 볼 수 있다 면 추가 성공 을 증명 합 니 다.
이로써 tomcat 의 운행 상 태 를 간단하게 감시 하 는 스 크 립 트 가 완성 되 었 습 니 다. 이 스 크 립 트 를 통 해 5 분 마다 발생 하 는 로그 monitor. xxxx 를 볼 수 있 습 니 다.xx_xx. log, tomcat 가 한 시간 동안 정상 인지, 재 부팅 했 는 지, 업그레이드 작업 을 했 는 지 볼 수 있 습 니 다.
또한, 이 스 크 립 트 는 조금 만 수정 (프로 세 스 이름과 시작 방식 수정) 하면 Liux 에서 다른 프로 세 스 에 대한 모니터링 기능 도 실현 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기