Crontab
Crontab은 Linux에서 특정 작업을 특정 시간에 수행할 수 있도록 하는 작업 스케쥴러이다. 예를들어, Certbot과 같은 SSL 인증서는 3개월마다 갱신이 필요한데 이를 OS가 자동으로 처리할 수 있게 하는 것이 가능하다.
Crontab 편집
$ crontab -e
Crontab 리스팅
$ crontab -l
Crontab 수행 주기 설정
분-시간-일-월-요일 순으로 설정이 가능하다. 요일에서 0과 7은 일요일이고, 1~6이 월에서 토요일이다.
실제 사용 예시 - Certbot 자동 갱신
1. bin 디렉토리에 실행 스크립트 파일을 만든다.
$ cd /bin
$ vi letsencrypt.sh
2. 다음과 같이 내용을 설정
!/bin/sh
/etc/init.d/nginx stop
/usr/local/bin/certbot renew> /var/log/letsencrypt/le-renew.log
fuser -k 80/tcp
/etc/init.d/nginx start
3. 해당 스크립트 파일에 실행 권한을 부여한다.
$ chmod +x letsencrypt.sh
4. 크론탭을 편집 상태로 연다.
$ crontab -e
5. 주기 별로 수행할 명령을 입력한다.
0 15 2 * * letsencrypt.sh
2개월 마다 15일에 실행
6. 크론탭을 재실행한다.
$ service cron start
'백엔드' 카테고리의 다른 글
[Node.js] Child Process를 통해 Node.js에서 파이썬 스크립트 파일 구동하기 (2) | 2021.04.24 |
---|---|
[백엔드] Query Parameter와 Path Variable의 사용 (0) | 2021.03.22 |
[백엔드] HTTPS 설정(AWS EC2, Routes 53+Nginx+Node.js) (0) | 2021.01.23 |
[백엔드] SSL 인증서 없이 https 설정하기 - CloudFlare (0) | 2020.12.20 |
[백엔드] 가비아를 통한 도메인 구매 및 등록 방법 (0) | 2020.12.20 |