crontab 특정시간에 특정 명령어를 주기적으로 수행시켜주는 프로그램 (리눅스, 맥 전용)
m h dom mon dow user command
m
: 분(minute) 0 ~ 59
h
: 시(hour) 0 ~ 23
dom
: 날(day of month) 1 ~ 31
mon
: 월(month) 1 ~ 12
dow
: 요일 (day of week) 0 ~ 7 (0과7은 일요일, 1 월, 2 화 .... 6 토
user
: username
command
: 실행할 명령어
각 필드의 설정된 값 이외에도 * - , /
사용할 수 있다.
*
: 모든 값을 의미한다 (매일, 매월 ...등)
-
: 그 사이의 모든 값 (1-5 이면 1일,2일...5일)
,
: 지정한 모든 값 의미 (1,2,3는 1시 2시 3시)
/
: 연결된 설정 값 범위에서 특정 주기로 나눌 때
설정 입력 파일
$ sudo crontab -e
현재 크론탭에 설정되어 있는 내용 확인
$ sudo crontab -l
현재 크론탭에 설정되어 있는 내용 삭제
$ sudo crontab -d
$ sudo view /var/log/syslog
자동 갱신 명령어 설정하기
crontab 설정 편집
$ sudo crontab -e
2개월마다 27일 오전 8시 갱신 명령어 실행
0 8 27 */2 * sudo /usr/bin/certbot renew --renew-hook "sudo systemctl restart nginx"
2개월마다 갱신 명령어 실행
0 0 1 */2 * sudo /usr/bin/certbot renew --renew-hook "sudo systemctl restart nginx"
매일 갱신
0 0 1 * * sudo /usr/bin/certbot renew --renew-hook "sudo systemctl restart nginx"