ETC

[Linux] crontab 을 이용하여 서버 자동 재실행하기

1984 2022. 6. 2. 22:43
cron

; 유닉스 사용자가 특정한 명령이나 스크립트를 지정한 시간/날짜에 자동으로 실행하게 해주는 데몬
; cron은 셸 명령어들이 주어진 일정에 주기적으로 실행하도록 규정해놓은 crontab (cron table) 파일에 의해 구동된다.

 cron 명령어
// 크론탭 시작
$ service crond start

// 크론탭 중지
$ service crond stop

// 크론탭 재시작
$ service crond restart

// 크론탭 설치여부 확인(피드백이 있다면 설치되어있는거임.)
$ ps -ef | grep cron

// 크론탭 확인
$ crontab -e
crontab 작성법
* * * * * test.sh

// 별 5개의 의미 (순서대로)
minute  hour  dom  month  dow  usr  cmd

// ex) 0 20 * * * /home/oracle/scripts/export_dump.sh
// 매일 20시 (오후 8시)에 export_dump.sh라는 셸 프로그램을 실행한다.

 

< cron 이용하여 spring project 서버 재실행 >

1. 쉘 스크립트 파일 만들기

 // 파일 생성
 $ touch shell_script_practice.sh
 
 // 스크립트 파일 수정
 $ sudo nano shell_script_practice.sh
 
 ===============
 #! /bin/bash
 (스크립트 내용)
 ===============

2. cron table 에 스크립트 등록

#! /bin/bash

if ! pgrep -x "java" > /dev/null
then
        echo "start"
        nohup java -jar /home/ubuntu/myspringproject-0.0.1-SNAPSHOT.war &
else
        echo "no"
fi
728x90