SSL인증서 적용하기(03) – Let’s Encrypt Ubuntu 자동 갱신


글 정리중.

학습목표

  1. 3개월 단위로 재갱신을 해야 하는 SSL 인증서를 자동으로 갱신되게 구성한다.
  2. 자동으로 구동은 cron/crontab을 사용

crontab 스케쥴 확인

crontab에 설정되어 있는 스케쥴이 있는지 확인해보자.

# crontab -l
-su: crontab: command not found

현재 crontab 명령어를 실행해보면 없는 명령어라고 한다. crontab을 설치부터 해야할것 같다.

crontab 설치

# apt-get install -y cron

설치 완료후 확인
# crontab -l
no crontab for root

이제 cron 설치는 끝났다. 간단하게 cron에 대해서 학습하고 넘어가자.

crontab 기본 명령어와 설명

사실 우리는 cron을 설치했다. crontab을 설치하지 않았다는거다.
일반적인 개발자들은 crontab으로 스케쥴 관리를 한다고 말하곤 한다. cron은 뭐고 crontab은 뭐야??!

우리가 설치한 cron은 스케쥴러 데몬이고, crontab은 cron 데몬이 사용할 일정리스트라고 인지하면 쉽게 이해가 갈것이라고 생각한다.
cron 데몬은 crontab에 적혀있는 일정을 기억하고 있다가, 적혀있는 일정에 맞춰서 명령어를 수행해준다.

이제 명령어를 살펴보자.

작업스케쥴 보기
# crontab -l
no crontab for root

작업스케쥴 모두 삭제
# crontab -r
no crontab for root

작업스케쥴 수정
# crontab -e
no crontab for root - using an empty one

작업 스케쥴 일정표

[minute] [hour] [day] [month] [weekday] [command]

minute : 0 - 59
hour : 0 - 23
day : 1 - 31
month : 1 - 12
weekday : 0 - 6 (0 : 일요일)
command : 명령어

기타
*는 매분/매시간/매일/매달/매일이라는 의미
,는 여러개의 옵션을 줄때 사용. 1,2 1분과 2분 등
-는 연속된 범위를 나타냅
*/숫자 숫자마다 반복

두달에 한번씩 인증서 갱신을 한다면!

예제> 0 3 2 * * letsencrypt renew; service apache2 restart;

매달 3시 0분 2일에 command를 수행한다는 내용

이제 인증서가 잘 갱신되는지 지켜보는일만 남았다.