크론(cron)은 리눅스 리눅스/유닉스 시스템에서
특정 시간에 명령어나 스크립트를 자동으로 실행하게 도와주는 스케줄링 도구이며
이때 크론 표현식을 사용하여 실행 시간을 지정
* * * * *
분 시 일 월 요일 명령어
필드의미와 값의 범위
분 | 몇 분에 실행할지 | 0-59 |
시 | 몇 시에 실행할지 | 0-23 (24시간제) |
일 | 며칠에 실행할지 | 1-31 |
월 | 몇 월에 실행할지 | 1-12 |
요일 | 무슨 요일에 실행할지 | 0-6 (0은 일요일) |
명령어 | 실행할 명령어 또는 스크립트 | 예: sh run.sh |
특수 문자 의미
- * : 모든 경우에 해당 (예: 매일, 매월, 매주)
- , : 여러 값을 지정할 때 사용 (예: 1,15 → 1일과 15일에 실행)
- - : 범위를 지정할 때 사용 (예: 1-5 → 1일부터 5일까지 실행)
- / : 간격을 지정할 때 사용 (예: */10 → 10분 간격으로 실행)
크론 표현식 예제
매일 자정(00:00)에 실행
0 0 * * * sh run.sh
매주 월요일 정오(12:00)에 실행
0 12 * * 1 sh run.sh
매 5분마다 실행
*/5 * * * * sh run.sh
매달 1일 오후 6시에 실행
0 18 1 * * sh run.sh
주중 (월 - 금) 매일 오전 9시에 실행
0 9 * * 1-5 sh run.sh
매월 1일과 15일 자정에 실행
0 0 1,15 * * sh run.sh
크론탭 설정 방법
크론탭 열기
sudo crontab -e
크론탭 목록 확인
sudo crontab -l
크론탭 모든 작업 삭제
sudo crontab -r
주의 사항
시스템 시간대 확인
서버의 시간대 (UTC vs KST)에 따라 실행 시간이 다를 수 있어서 아래 명령어로 확인
date
시간대를 한국 시간 KST로 변경하는 법
sudo timedatectl set-timezone Asia/Seoul
'linux' 카테고리의 다른 글
apt와 apt-get의 차이 (0) | 2024.11.17 |
---|---|
apt update와 upgrade의 차이 (1) | 2024.11.05 |
ubuntu에 Java 설치 (0) | 2024.11.05 |
systemctl, service 그리고 daemon (0) | 2024.03.03 |