# 크론탭(crontab)
## 목차
1. crontab 이란?
2. 사용예
## crontab이란?
주기적 작업 수행을 돕는 패키지이다.
예를 들어, 매일 하루 일과를 정리한 이메일을 보낸다든지, 매주 특정 디렉토리를 삭제하는 작업 등을 자동화 할 수 있다.
## 사용법
아래 명령어를 통해 정기적 작업을 등록 할 수 있다.
```
$ sudo crontab -e
```
### 사용 예
```
# 재부팅시
@reboot /root/docker.sh
# 매 1분
* * * * * /root/every_1min.sh
# 매 15분
*/15 * * * * /root/every_15min.sh
# 매일 새벽 5시
0 5 * * * /root/backup.sh
# 평일 8시
0 8 * * 1-5 /root/weekday.sh
# 주말 10시
0 10 * * 0,6 /root/weekend.sh
# 매 3개월 마다
30 03 01 Jan,Apr,Jul,Oct * /path/to/script
```
### 표현식 의미
문자열의 좌측에서 우측으로 순서별 의미가 존재한다. (구분자는 space)
```
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
```
| 순서 | 필드명 | 사용 가능 값 |
|:----:|:--------|:-------------|
| 1 | minutes | 0~59 |
| 2 | hours | 0~23 |
| 3 | day of month | 1~31 |
| 4 | month | 1~12 |
| 5 | day of week | 0:일요일, 1:월요일, ..., 6:토요일 |