cron은 서버에서 정해진 시간마다 명령어를 자동 실행해주는 스케줄러다.
쉽게 말하면 서버의 알람시계 같은 개념이다.
정해진 시간 도달
→ cron이 명령어 실행
→ 서버 작업 수행
예를 들어 5분마다 특정 스크립트를 실행하거나, 매일 특정 시간에 백업을 수행할 수 있다.
cron은 보통 아래 형식으로 시간을 표현한다.
* * * * *
분 시 일 월 요일
각 위치는 다음을 의미한다.
| 위치 | 의미 |
|---|---|
| 1번째 | 분 |
| 2번째 | 시 |
| 3번째 | 일 |
| 4번째 | 월 |
| 5번째 | 요일 |
자주 쓰는 예시는 다음과 같다.
*/5 * * * * → 5분마다 실행
0 8 * * * → 매일 오전 8시 실행
0 18 * * 1-5 → 평일 오후 6시 실행
0 0 1 * * → 매월 1일 자정 실행
처음에는 문법을 전부 외울 필요는 없다.
분 시 일 월 요일 순서라는 것만 기억해도 충분하다.
cron 작업을 등록하는 설정을 crontab이라고 한다.
예를 들어:
*/5 * * * * /usr/bin/python3 /home/app/check_api.py