웹 서비스 운영에 있어 SSL 인증서의 유효성을 유지하는 것은 매우 중요합니다. 인증서가 만료되면 서비스에 심각한 문제가 발생할 수 있습니다. 이를 방지하기 위해, Certbot을 사용하여 인증서를 자동으로 갱신하는 작업을 설정하는 방법을 소개합니다.
sudo crontab -e
그러나 아래와 같은 에러가 발생할 수 있습니다.
no crontab for root - using an empty one
/tmp/crontab.r558L1/crontab: No space left on device
이 에러는 /tmp 디렉토리의 용량이 부족하기 때문에 발생합니다.
df -h
결과:
Filesystem Size Used Avail Use% Mounted on
tmpfs 10M 10M 0 100% /tmp
위의 결과에서 보듯이 /tmp의 용량이 10M로 설정되어 있으며, 이미 100% 사용 중입니다.
sudo mount -o remount,size=50M /tmp
sudo crontab -e
이제 Crontab 설정이 가능합니다.
0 12 1 * * sudo certbot renew --renew-hook="sudo service restart nginx"
sudo systemctl status cron
상태가 active (running)이면 모든 설정이 정상적으로 완료된 것입니다.