•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
분류

1. 개요 [편집]

  • cron, cronie, crond, cron daemon, crontab, cron job, crontab job
  • 크론, 크론 데몬, 크론탭, 크론작업, 리눅스 작업 스케줄러
  • /usr/sbin/crond
  • /usr/bin/crontab
  • 프로세스 예약 데몬
  • 리눅스용 작업 스케줄러
  • 특정시각에 명령어가 수행되도록 등록가능
  • cronie(패키지) = crond(데몬) + crontab(크론 계획표[1])
  • 로그: /var/log/cron에 변경/수행 이력이 기록됨
  • 런레벨, 사용자 권한 등 환경에 따라 GUI 프로그램을 실행시키거나 X윈도우에서 별도의 창을 띄우는 작업은 불가능할 수 있음

2. 등록형식 [편집]

* * * * * 수행할 명령어
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일)
│ │ │ └───────── 월 (1 - 12)
│ │ └───────── 일 (1 - 31)
│ └───────── 시 (0 - 23)
└───────── 분 (0 - 59)
  • "분시일월요"

2.1. 예시 [편집]

* * * * * /root/every_1min.sh
-매 1분마다 /root/every_1min.sh 를 수행 (하루에 1440회 - 24시간×60회)
15,45 * * * * /root/every_30min.sh
-매시 15분, 45분에 /root/every_30min.sh 를 수행 (하루에 48회 - 24시간×2회)
*/10 * * * * /root/every_10min.sh
-10분마다 /root/every_10min.sh 를 수행 (하루에 144회 - 24시간×6회)
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

3. 작업목록 확인 [편집]

[root@zetawiki ~]# crontab -l
no crontab for root
[root@zetawiki ~]# crontab -l -u testuser
no crontab for testuser

4. 수동 등록 [편집]

crontab -e
vi/vim 편집기나 Nano로 현재 사용자에 대한 cron작업의 확인/수정을 직접 할 수 있다.

5. 등록 스크립트 [편집]

#cat으로 등록
cat <(crontab -l) <(echo "1 5 * * * /root/myscript.sh") | crontab -
#echo로 등록
echo -e "* * * * * 명령어1n* * * * * 명령어2" | crontab

6. 삭제 [편집]

현재 사용자의 예약작업을 모두 삭제
crontab -r

7. 참고 [편집]

[1] 크론 테이블(cron table)