Server_Crontab으로 스크립트 죽으면 살리기

JSkim·2023년 2월 28일

플라스크 서비스 죽었나 체크해서 살려보자

일단 app.service 라는 구니콘 서비스 등록 파일 있다고 가정함.

특정 서비스 검색하고 살았나 죽었나 확인하는 스크립트 만들기

sudo nano check.sh 

check.sh 라는 스크립트 파일을 하나 만들어주자.

#! /bin/bash

echo "현재 app.service 서비스 상태: $(systemctl is-active app.service)"
if [ $(systemctl is-active app.service) == "inactive" ]
then
    echo "서비스 재시작하자"
    echo '비밀번호' | sudo -kS systemctl restart app.service;
else
    echo "서비스실행중"
fi

systemctl is-active 로 특정 서비스의 상태 확인하고
inactive 면 재시작 해주는 코드

echo '비번' | sudo -kS 명령~~;

참고로 이부분은 로그에 비번이 그대로 찍히기 때문에 좋은 코드는 아니다.
그래도 잘 돌아가긴함.

그담엔

crontab 설정

sudo apt-get install cron

크론 설치하고

crontab -e

이걸로 편집화면들어가서

* * * * * /경로/check.sh

해주면 1분마다 작동함.
별표시 있는 부분이 각각 분 시간 일 월 년 이었나 그럼.

이제 크론탭 실행

sudo service cron start

이제 1분마다 서비스가 죽었나 살았나 확인하고 죽었으면 다시 살려준다.

profile
제주도 프론트앤드 개발자의 개발 일기

0개의 댓글