편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
{{소문자}} | {{소문자}} | ||
;cron, crontab, cron job, crontab job | |||
;cron | ;크론, 크론탭, 크론작업, 리눅스 작업 스케줄러 | ||
;크론 | *리눅스용 작업 스케줄러 | ||
*특정시각에 명령어가 수행되도록 등록가능 | |||
* 리눅스용 작업 스케줄러 | |||
* 특정시각에 명령어가 수행되도록 등록가능 | |||
==등록형식== | ==등록형식== | ||
< | <source lang='text'> | ||
* * * * * 수행할 명령어 | * * * * * 수행할 명령어 | ||
┬ ┬ ┬ ┬ ┬ | ┬ ┬ ┬ ┬ ┬ | ||
│ │ │ │ │ | │ │ │ │ │ | ||
│ │ │ │ │ | │ │ │ │ │ | ||
│ │ │ │ └───────── 요일 (0 - 6) (0 | │ │ │ │ └───────── 요일 (0 - 6) (0 =일요일) | ||
│ │ │ | │ │ │ └────────── 월 (1 - 12) | ||
│ │ | │ │ └─────────── 일 (1 - 31) | ||
│ | │ └──────────── 시 (0 - 23) | ||
└───────────── 분 (0 - 59) | |||
</ | </source> | ||
:→ | :→ 분시일월요! | ||
==예시== | ==예시== | ||
< | <source lang='text'> | ||
0 2 * * * /root/backup.sh | 0 2 * * * /root/backup.sh | ||
</ | </source> | ||
:→ 매일 02:00에/root/backup.sh 를 수행 (하루에 1회) | :→ 매일 02:00에/root/backup.sh 를 수행 (하루에 1회) | ||
< | <source lang='text'> | ||
30 * | 0,30 * * * * /root/every_20min.sh | ||
</ | </source> | ||
:→ | :→ 매시 00분, 30분에 /root/every_20min.sh 를 수행 (하루에 48회<ref>24시간×2회</ref>) | ||
<source lang='text'> | |||
*/10 * * * * /root/every_10min.sh | |||
</ | </source> | ||
:→ 10분마다 /root/myscript2.sh 를 수행 (하루에 144회<ref>24시간×6회</ref>) | |||
< | |||
</ | |||
:→ | |||
</ | |||
==작업목록 확인== | ==작업목록 확인== | ||
{{참고|crontab 작업 목록 전체 보기}} | {{참고|crontab 작업 목록 전체 보기}} | ||
;현재 사용자 | |||
< | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# crontab -l | ||
no crontab for root | no crontab for root | ||
</ | </source> | ||
;다른 사용자 | |||
< | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# crontab -l -u testuser | ||
no crontab for testuser | no crontab for testuser | ||
</ | </source> | ||
== | ==직접 등록== | ||
< | <source lang='bash'> | ||
crontab -e | crontab -e | ||
</ | </source> | ||
vi 편집기로 현재 사용자에 대한 cron작업의 확인/수정을 직접 할 수 있다. | |||
==등록 스크립트== | ==등록 스크립트== | ||
;명령어 (예시) | |||
<source lang='bash'> | |||
cat <(crontab -l) <(echo "1 5 * * * /root/myscript.sh") | crontab - | |||
</source> | |||
:→ 매일 5시 1분에 /root/myscript.sh 를 수행하도록 등록 | |||
;실행예시 | |||
<source lang='dos'> | |||
[root@jmnote ~]# crontab -l | |||
no crontab for root | |||
[root@jmnote ~]# cat <(crontab -l) <(echo "1 5 * * * /root/myscript.sh") | crontab - | |||
[root@jmnote ~]# crontab -l | |||
1 5 * * * /root/myscript.sh | |||
</source> | |||
==삭제== | ==삭제== | ||
현재 사용자의 예약작업을 모두 삭제 | 현재 사용자의 예약작업을 모두 삭제 | ||
< | <source lang='bash'> | ||
crontab -r | crontab -r | ||
</ | </source> | ||
;실행예시 | |||
< | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# crontab -l | ||
* * * * * /root/a.sh | * * * * * /root/a.sh | ||
* * * * * /root/b.sh | * * * * * /root/b.sh | ||
* * * * * /root/c.sh | * * * * * /root/c.sh | ||
[root@ | [root@jmnote ~]# crontab -r | ||
[root@ | [root@jmnote ~]# crontab -l | ||
no crontab for root | no crontab for root | ||
</ | </source> | ||
== | ==로그== | ||
변경/수행 이력은 [[/var/log/cron]]에 기록된다. | |||
==같이 보기== | ==같이 보기== | ||
* [[작업 스케줄러]] | *[[작업 스케줄러]] | ||
* [[ | *[[crontab 작업 목록 전체 보기]] | ||
*[[/etc/crontab 기본값]] | |||
*[[미디어위키 봇 자동화]] | |||
*[[PHP 배치 작업]] | |||
* [[/etc/crontab 기본값 | |||
==주석== | |||
* [[미디어위키 봇 자동화]] | <references/> | ||
* [[ | |||
==참고== | ==참고 자료== | ||
*http://en.wikipedia.org/wiki/Cron | *http://en.wikipedia.org/wiki/Cron | ||
[[분류: | [[분류: 리눅스]] | ||