Crontab
Crontab(크론탭)[출처]
- 프로세스 예약 데몬
- 리눅스용 작업 스케줄러
- 특정시각에 명령어가 수행되도록 등록가능
- cronie(패키지) = crond(데몬) + crontab(크론 계획표[1])
- 로그: /var/log/cron에 변경/수행 이력이 기록됨
등록방법
- 수동 등록
crontab -e
- 하단에 추가
cat <(crontab -l) <(echo "1 5 * * * /root/myscript.sh") | crontab -
- 전부 새로 등록
echo -e "* * * * * 명령어1\n* * * * * 명령어2" | crontab
등록 형식
* * * * * 수행할 명령어 ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일) │ │ │ └───────── 월 (1 - 12) │ │ └───────── 일 (1 - 31) │ └───────── 시 (0 - 23) └───────── 분 (0 - 59)
Ex
* * * * * /root/every_1min.sh
- → 매 1분마다 /root/every_1min.sh 를 수행 (하루에 1440회[2])
15,45 * * * * /root/every_30min.sh
- → 매시 15분, 45분에 /root/every_30min.sh 를 수행 (하루에 48회[3])
*/10 * * * * /root/every_10min.sh
- → 10분마다 /root/every_10min.sh 를 수행 (하루에 144회[4])
0 2 * * * /root/backup.sh
- → 매일 02:00에/root/backup.sh 를 수행 (하루에 1회)
30 */6 * * * /root/every_6hours.sh
- → 매 6시간마다 수행(00:30, 06:30, 12:30, 18:30)
30 1-23/6 * * * /root/every_6hours.sh
- → 1시부터 매 6시간마다 수행(01:30, 07:30, 13:30, 19:30)
0 8 * * 1-5 /root/weekday.sh
- → 평일(월요일~금요일) 08:00
0 8 * * 0,6 /root/weekend.sh
- → 주말(일요일, 토요일) 08:00