리눅스 crontab 작업 스케줄러 설정 방법

리눅스에선 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

관련 글

댓글 남기기