앞서 배포한 방법은 서버를 배포했지만 서버가 내려갈 경우 다시 배포하지 못합니다.
nohup 2>err.log
언제서버가 내려갈지 알 수 없으니 불안전한 배포입니다.
Crontab을 이용해서 서버가 내려가면 자동으로 재시작 할 수 있습니다.
그 방법을 알아보겠습니다.
크론탭 옵션
crontab -e
아래 명령어는 매분 명령어를 시행하겠다는 뜻입니다.
* * * * * ls -l 1>>cron.log
첫번째 *
: 분 (0-59)
두번째 *
: 시간 (0-23)
세번째 *
: 일 (1-31)
네번째 *
: 월 (1-12)
다섯번째 *
: 요일 (0-7)
>
: 덮어 씌우기
>>
: append
myScript.sh 파일을 만들어 crontab을 설정하는 스크립트를 작성하겠습니다.
myScript.sh
# 크론탭 내용을 crontab_new 파일로 옮긴다.
crontab -l 1>crontab_new
# crontab_new 파일에 echo의 내용을 추가한다.
echo "* * * * * /home/ubuntu/job.sh" 1>>crontab_new
# crontab에 crontab_new에 작성한 내용을 반영한다.
crontab crontab_new
# crontab_new 파일을 삭제한다.
rm crontab_new
job.sh
ls -l >> /home/ubuntu/cron.log
myScript에서는 crontab_new 파일로 crontab 설정을 합니다.
이떄 /home/ubuntu/job.sh 파일을 실행하는 crontab을 설정합니다.
job.sh에는 수행할 내용을 담아두면 됩니다.
현재는 단순히 목록을 확인하는 용도의 스크립트만 작성하였습니다.
cron.log를 만들어 현재 폴더의 목록을 계속 저장할 것입니다.
설정을 했으니 스크립트를 실행해 보겠습니다.
chmod u+x myScript.sh
./myScript.sh
이제 확인해보겠습니다.
설계한 대로 잘 작동하는것을 확인 할수 있습니다.