리눅스에서 Crontab은 사용자가 지정한 시간에 정기적으로 특정 작업을 자동 실행하도록 하는 예약 도구이다. (스케줄러 개념과 비슷)
시스템 관리 작업, 백업, 로그 정리 등과 같은 반복 작업을 설정하는 데 주로 사용되며, 각 사용자(User)에게 할당된 crontab 파일은 사용자가 관리할 수 있다.
파일에 작성된 일정에 따라 cron 데몬이 작업을 자동으로 실행한다.
- 크론탭을 편집할 수 있는 명령어 crontab -e - 크론탭의 내용을 출력해 주는 명령어 (cat 명령어와 비슷) crontab -l - 크론탭을 삭제하는 명령어 crontab -r - 특정 사용자에의 크론탭 관리 (다른 사용자의 크론탭 권한이 있을 때 사용 가능) crontab -u <유저명> -e
크론탭은 아래와 같은 형태로 실행 주기를 설정할 수 있다.
크론탭에서 시간은 아스테리스크 특수문자 *을 사용하여 표현한다.
총 5개의 *을 사용하며 각각 분, 시, 일, 월, 요일 순서로 작성해야 한다.
*(분) *(시) *(일) *(월) *(요일)
분 : 0~59
시 : 0~23
일 : 1~31
월 : 1~12
요일 : 0~7요일에서 0과 7은 일요일을 의미한다.
- 0~6은 일요일~토요일을 의미하며,
- 1~7은 월요일~일요일을 의미한다.
- 매분 실행
* * * * *<실행 파일 or 코드>
- 매주 금요일 오후 6시에 실행
0 18 * * 5<실행 파일 or 코드>
- 0분, 20분, 40분마다 반복 실행 (매시간마다 3번 실행)
0, 20, 40 * * * *<실행 파일 or 코드>
- 0분부터 30분까지 범위 지정 후 매분마다 실행 (매시간마다 31번 실행)
0-30 * * * *<실행 파일 or 코드>
- 10분 마다 실행
*/10 * * * *<실행 파일 or 코드>