crontab 사용법
이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 강의 사이트와 유투브 채널을
오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
● 잔재미코딩 유투브 오픈
[구독해보기]
6. crontab 사용법¶
crontab: 특정 시간에 특정 프로그램을 주기적으로 수행시키는 프로그램 (리눅스, 맥 전용)¶
설치
- 리눅스: apt-get install cron
- 맥북: 기본 내장
crontab 기본
crontab -e
- 크론탭 설정 입력 파일 (vi 에디터 활용, 설정 입력 후 :wq 로 저장)
crontab -l
- 현재 크론탭에 설정되어 있는 내용 확인
crontab -d
- 현재 크론탭에 설정되어 있는 내용 삭제
crontab 설정
- 주기별 예제 - /root/scripts/status_check.sh 라는 쉘스크립트 파일이 있다고 가정하고 해당 파일의 주기적 실행 - 매분 실행
* * * * * /root/scripts/status_check.sh- 특정 시간에 실행 - 매주 월요일 오전 6시 40분에 실행
40 6 * * 1 /root/scripts/status_check.sh- 반복 실행 - 매일 매시간 0분, 20분, 40분에 실행
0,20,40 * * * * /root/scripts/status_check.sh- 범위 실행 - 매일 오전 6시 10분부터 40분까지 매분 실행
10-40 6 * * * /root/scripts/status_check.sh- 간격 실행 - 매 20분마다 실행
*/20 * * * * /root/scripts/status_check.sh- 특정 여러 시각 실행 - 10일에서 12일까지 4시, 5시, 6시 매 20분마다 실행
*/20 4,5,6 10-12 * * /root/scripts/status_check.sh
- crontab 실행 팁
- 로그(log) 남겨두기
- 단, 로그가 많이 쌓이면, 서버 저장공간이 꽉차게 되고, 서버는 다운 또는 비정상동작을 보일 수 있으므로, 주기적으로 삭제
예) */20 * * * * /root/scripts/status_check.sh >> /var/log/status_check.log 2>&1 * * 1 * * rm -rf /var/log/status_check.log 2>&1
참고: HTTPS 무료 인증서 사용하기¶
- 구글의 HTTPS 웹사이트 우선 정책으로 인해, 웹사이트 운영시 HTTPS를 지원해야 함
- HTTPS 지원을 위해서는 인증서가 필요하고, 인증서 발급시 주기적 비용이 발생함
- 무료 인증서를 제공하는 업체들이 있으나, 특정 기간마다 인증서를 재발급받아야 함
- Let's Encrypt 서비스를 통해 무료 인증서를 발급 가능, 단 3개월마다 갱신 필요
- 갱신 명령어를 crontab을 통해 자동 갱신 실행토록 설정
59 1 5 * * sudo /usr/bin/certbot renew