"리눅스 반복 예약작업 cron, crond, crontab"의 두 판 사이의 차이

(사용자 7명의 중간 판 20개는 보이지 않습니다)
5번째 줄: 5번째 줄:
;/usr/sbin/crond
;/usr/sbin/crond
;/usr/bin/crontab
;/usr/bin/crontab
*프로세스 예약 데몬
* 프로세스 예약 데몬
*리눅스용 작업 스케줄러
* 리눅스용 작업 스케줄러
*특정시각에 명령어가 수행되도록 등록가능
* 특정시각에 명령어가 수행되도록 등록가능
*cronie(패키지) = crond([[데몬]]) + crontab(크론 계획표<ref>크론 테이블(cron table)</ref>)
* cronie(패키지) = crond([[데몬]]) + crontab(크론 계획표<ref>크론 테이블(cron table)</ref>)
*로그: [[/var/log/cron]]에 변경/수행 이력이 기록됨
* 로그: [[/var/log/cron]]에 변경/수행 이력이 기록됨
* 런레벨, 사용자 권한 등 환경에 따라 GUI 프로그램을 실행시키거나 X윈도우에서 별도의 창을 띄우는 작업은 불가능할 수 있음


==등록형식==
==등록형식==
<source lang='text'>
<source lang='text'>
* * * * *  수행할 명령어
* * * * *  수행할 명령어
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
└───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일)
│ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일)
└───────── 월 (1 - 12)
│ │ │ └───────── 월 (1 - 12)
└───────── 일 (1 - 31)
│ │ └───────── 일 (1 - 31)
└───────── 시 (0 - 23)
│ └───────── 시 (0 - 23)
└───────── 분 (0 - 59)
└───────── 분 (0 - 59)
</source>
</source>
:→ 이렇게 설정하면 매 1분마다 작업 수행
:→ "분시일월요"
:→ 각 자리는 "분시일월요"를 뜻함


==예시==
==예시==
62번째 줄: 62번째 줄:
==작업목록 확인==
==작업목록 확인==
{{참고|crontab 작업 목록 전체 보기}}
{{참고|crontab 작업 목록 전체 보기}}
;현재 사용자
{{소스헤더|현재 사용자}}
<source lang='console'>
<source lang='console'>
[root@zetawiki ~]# crontab -l
[root@zetawiki ~]# crontab -l
68번째 줄: 68번째 줄:
</source>
</source>


;다른 사용자
{{소스헤더|다른 사용자}}
<source lang='console'>
<source lang='console'>
[root@zetawiki ~]# crontab -l -u testuser
[root@zetawiki ~]# crontab -l -u testuser
78번째 줄: 78번째 줄:
crontab -e
crontab -e
</source>
</source>
[[vi 편집기]]로 현재 사용자에 대한 cron작업의 확인/수정을 직접 할 수 있다.
[[vi 편집기]]나 [[Nano 에디터]]로 현재 사용자에 대한 cron작업의 확인/수정을 직접 할 수 있다.


==등록 스크립트==
==등록 스크립트==
89번째 줄: 89번째 줄:
</source>
</source>


;실행예시
{{소스헤더|실행예시}}
<source lang='console'>
<source lang='console'>
[root@zetawiki ~]# crontab -l
[root@zetawiki ~]# crontab -l
106번째 줄: 106번째 줄:


==같이 보기==
==같이 보기==
*[[크론탭 작업 N분마다 수행]]
* [[작업 스케줄러]]
*[[crontab 작업 목록 전체 보기]]
* [[/var/log/cron]]
*[[/etc/crontab 기본값]]
* [[크론 로그 확인]]
*[[cron.allow, cron.deny]]
* [[PHP 배치 작업]]
*[[작업 스케줄러]]
* [[아나크론 anacron]]
*[[미디어위키 봇 자동화]]
* [[/etc/crontab 기본값]]
*[[리눅스 재부팅 예약작업]]
* [[쿠버네티스 CronJob]]
*[[PHP 배치 작업]]
* [[미디어위키 봇 자동화]]
*[[/var/log/cron]]
* [[크론탭 작업 디렉토리]]
*[[crontab 홀수 짝수 시각]]
* [[리눅스 재부팅 예약작업]]
*[[크론탭 작업 디렉토리]]
* [[crontab 홀수 짝수 시각]]
*[[리눅스 1회성 예약작업 at]]
* [[리눅스 1회성 예약작업 at]]
*[[스크립트에서 crontab 수정]]
* [[크론탭 작업 N분마다 수행]]
*[[아나크론 anacron]]
* [[스크립트에서 crontab 수정]]
* [[crontab 작업 목록 전체 보기]]
* [[cron.allow, cron.deny]]


==주석==
==참고==
<references/>
 
==참고 자료==
*http://en.wikipedia.org/wiki/Cron
*http://en.wikipedia.org/wiki/Cron



2019년 11월 3일 (일) 16:51 판

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)
→ "분시일월요"

3 예시

* * * * * /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

4 작업목록 확인

현재 사용자
[root@zetawiki ~]# crontab -l
no crontab for root
다른 사용자
[root@zetawiki ~]# crontab -l -u testuser
no crontab for testuser

5 수동 등록 ★

crontab -e

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

6 등록 스크립트

7 삭제

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

crontab -r
실행예시
[root@zetawiki ~]# crontab -l
* * * * * /root/a.sh
* * * * * /root/b.sh
* * * * * /root/c.sh
[root@zetawiki ~]# crontab -r
[root@zetawiki ~]# crontab -l
no crontab for root

8 연습과제

9 같이 보기

10 참고

  1. 크론 테이블(cron table)
  2. 24시간×60회
  3. 24시간×2회
  4. 24시간×6회
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}