| r1 | ||
|---|---|---|
| r1 (새 문서) | 1 | [[분류:Linux]] |
| 2 | ||
| 3 | == 개요 == | |
| 4 | *cron, cronie, crond, cron daemon, crontab, cron job, crontab job | |
| 5 | *크론, 크론 데몬, 크론탭, 크론작업, 리눅스 작업 스케줄러 | |
| 6 | */usr/sbin/crond | |
| 7 | */usr/bin/crontab | |
| 8 | * 프로세스 예약 데몬 | |
| 9 | * 리눅스용 작업 스케줄러 | |
| 10 | * 특정시각에 명령어가 수행되도록 등록가능 | |
| 11 | * cronie(패키지) = crond([[데몬]]) + crontab(크론 계획표<ref>크론 테이블(cron table)</ref>) | |
| 12 | * 로그: /var/log/cron에 변경/수행 이력이 기록됨 | |
| 13 | * 런레벨, 사용자 권한 등 환경에 따라 GUI 프로그램을 실행시키거나 X윈도우에서 별도의 창을 띄우는 작업은 불가능할 수 있음 | |
| 14 | ||
| 15 | == 등록형식 == | |
| 16 | {{{* * * * * 수행할 명령어 | |
| 17 | ┬ ┬ ┬ ┬ ┬ | |
| 18 | │ │ │ │ │ | |
| 19 | │ │ │ │ │ | |
| 20 | │ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일) | |
| 21 | │ │ │ └───────── 월 (1 - 12) | |
| 22 | │ │ └───────── 일 (1 - 31) | |
| 23 | │ └───────── 시 (0 - 23) | |
| 24 | └───────── 분 (0 - 59) | |
| 25 | }}} | |
| 26 | * '''"분시일월요"''' | |
| 27 | ||
| 28 | ==예시== | |
| 29 | {{{ | |
| 30 | * * * * * /root/every_1min.sh | |
| 31 | :→ 매 1분마다 /root/every_1min.sh 를 수행 (하루에 1440회 - 24시간×60회) | |
| 32 | }}} | |
| 33 | {{{ | |
| 34 | 15,45 * * * * /root/every_30min.sh | |
| 35 | }}} | |
| 36 | :→ 매시 15분, 45분에 /root/every_30min.sh 를 수행 (하루에 48회 - 24시간×2회) | |
| 37 | {{{ | |
| 38 | */10 * * * * /root/every_10min.sh | |
| 39 | }}} | |
| 40 | :→ 10분마다 /root/every_10min.sh 를 수행 (하루에 144회 - 24시간×6회) | |
| 41 | {{{ | |
| 42 | 0 2 * * * /root/backup.sh | |
| 43 | }}} | |
| 44 | :→ 매일 02:00에/root/backup.sh 를 수행 (하루에 1회) | |
| 45 | {{{ | |
| 46 | 30 */6 * * * /root/every_6hours.sh | |
| 47 | }}} | |
| 48 | :→ 매 6시간마다 수행(00:30, 06:30, 12:30, 18:30) | |
| 49 | {{{ | |
| 50 | 30 1-23/6 * * * /root/every_6hours.sh | |
| 51 | }}} | |
| 52 | :→ 1시부터 매 6시간마다 수행(01:30, 07:30, 13:30, 19:30) | |
| 53 | {{{ | |
| 54 | 0 8 * * 1-5 /root/weekday.sh | |
| 55 | }}} | |
| 56 | :→ 평일(월요일~금요일) 08:00 | |
| 57 | {{{ | |
| 58 | 0 8 * * 0,6 /root/weekend.sh | |
| 59 | }}} | |
| 60 | :→ 주말(일요일, 토요일) 08:00 | |
| 61 | ||
| 62 | == 작업목록 확인 == | |
| 63 | {{{ | |
| 64 | [root@zetawiki ~]# crontab -l | |
| 65 | no crontab for root | |
| 66 | }}} | |
| 67 | ||
| 68 | {{{ | |
| 69 | [root@zetawiki ~]# crontab -l -u testuser | |
| 70 | no crontab for testuser | |
| 71 | }}} | |
| 72 | ||
| 73 | == 수동 등록 == | |
| 74 | {{{ | |
| 75 | crontab -e | |
| 76 | }}} | |
| 77 | [[vi 편집기]]나 [[Nano 에디터]]로 현재 사용자에 대한 cron작업의 확인/수정을 직접 할 수 있다. | |
| 78 | ||
| 79 | == 등록 스크립트 == | |
| 80 | {{{ | |
| 81 | #cat으로 등록 | |
| 82 | cat <(crontab -l) <(echo "1 5 * * * /root/myscript.sh") | crontab - | |
| 83 | }}} | |
| 84 | ||
| 85 | {{{ | |
| 86 | #echo로 등록록 | |
| 87 | echo -e "* * * * * 명령어1\n* * * * * 명령어2" | crontab | |
| 88 | }}} | |
| 89 | ||
| 90 | == 삭제 == | |
| 91 | 현재 사용자의 예약작업을 모두 삭제 | |
| 92 | {{{ | |
| 93 | crontab -r | |
| 94 | }}} | |
| 95 | ||
| 96 | ==참고== | |
| 97 | *[[http://en.wikipedia.org/wiki/Cron|위키디피아 cron]] |