리눅스에선 crontab을 통해 작업 스케줄러를 설정할 수 있다. CLI 환경이다보니 기호 표시로 스케줄러를 설정해야 한다.
1. 스케줄러 형식
* * * * * path/to/command
(분) (시) (일) (월) (요일)
이렇게 5개 자리 수에 숫자 또는 와일드카드(*)를 넣는다.
- 분 : 0-59
- 시 : 0-23
- 일 : 1-31
- 월 : 1-12
- 요일 : 0-7 (일요일은 0 월요일은 1 화요일은 2 … 토요일은 6 일요일은 다시 7)
굳이 외울 필요는 없고 사용 예시를 보면 어떻게 써야할지 대충 감이 온다. 까먹으면 그때 그때 다시 체크하면 된다.
2. 매일 오후 12시에 실행
0 12 * * * /path/to/command
참고로 분 자리에 0이 아니라 *를 넣으면 안 되나? 생각할 수 도 있는데 만약 그렇게 쓰면 12시1분, 12시2분, 12시3분, … , 12시59분 처럼 매 분마다 실행하게 된다.
3. 매 30분마다 실행
*/30 * * * * /path/to/command
30분마다라고 쓰려면 */30 처럼 슬래시를 함께 쓴다.
*/30 대신 30을 쓰면 안 되나? 싶을 수도 있는데 이렇게하면 매시간 30분마다 실행하는 의미로 한 시간에 1번만 실행한다.
30 * * * * /path/to/command
4. 매일 오전 9시부터 오후 6시까지 1시간마다 실행
0 9-18 * * * /path/to/command
또는
0 9,10,11,12,13,14,15,16,17,18 * * * /path/to/command
5. 매주 월요일 오전 8시에 실행
0 8 * * 1 /path/to/command