리눅스 예약 실행 스케줄러 crontab > 기술자료 | 해피정닷컴

리눅스 예약 실행 스케줄러 crontab > 기술자료

본문 바로가기

사이트 내 전체검색

리눅스 예약 실행 스케줄러 crontab > 기술자료

Linux 리눅스 예약 실행 스케줄러 crontab

페이지 정보


본문

리눅스에는 일정시간마다 자동으로 명령을 실행해주는 스케줄러가 존재한답니다. 
예약된 시간에 정확히 프로그램이나 명령을 실행해주는 존재.. 바로 crontab 이라고 합니다.

crontab은 리눅스의 전통적인 서비스인데... 늘 상주해있다가 스케줄러에 있는 시간이 되면 정해진 명령을 실행해줍니다. 
예로 든 백업뿐만 아니라 이걸 이용하면 예약 메일보내기도 가능하죠.

1. crontab 살펴보기
등록한 스케줄 파일은 /var/spool/cron 에 있으며, 계정별로 스케줄 파일들이 정리되어있습니다. 
root를 비롯해서 일반계정에서도 스케줄 등록을 할 수 있습니다.
예를 들어, /var/spool/cron/root 파일에는 root 계정에서 등록한 스케줄이 있습니다.

[root@localhost cron]# ls /var/spool/cron


2. 스케줄 목록 확인
crontab에 있는 스케줄 확인 명령어는 다음과 같습니다.

2-1. 현재사용자
[root@localhost cron]# crontab -l
no crontab for root


2-2. 현재사용자
[root@localhost cron]# crontab -l -u testuser
no crontab for testuser


3. 등록 형식
스케줄은 아래와 같은 형식을 하고 있습니다.

*  *  *  *  *  수행할 명령어
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일) 또는 sun, mon, tue, wed thu, fri, sat
│ │ │ └───────── 월 (1 - 12) 또는 jan,feb, mar, apr ... 축약형 영문 월 표시
│ │ └───────── 일 (1 - 31)
│ └───────── 시 (0 - 23) (자정이 0)
└───────── 분 (0 - 59)

범위 지정에 사용할 수 있는 연산자

①  * 
해당 범위 모두 수행하게 된다.
매분 마다 실행되게 하고 싶다  →  * * * * *
매 시간 정각에 실행되게 하고 싶다  →  0 * * * * 
매 일 오전 03시에 실행되게 하고 싶다  →  0 3 * * *
매 달 25일 자정에 실행되게 하고 싶다  →  0 0 25 * *
매 해 1월 1일 오후 2시에 실행되게 하고 싶다  →  0 14 1 1 *
매 주 화요일 오전 03시 30분에 실행되게 하고 싶다  →  30 3 * * 2
 
②  - 
해당 구간은 모두 수행하게 된다. 
매 시간 10분에서 30분까지 매 분마다 실행되게 하고 싶다  →  10-30 * * * *
오후 7시에서 11시까지 매 시간마다 실행되게 하고 싶다  →  0 7-11 * * *
매 월 20일에서 28일까지 자정에 실행되게 하고 싶다  →  0 0 20-28 * *
매 해 3월에서 6월까지 1일 오전 03시 30분에 실행되게 하고 싶다  →  30 3 1 3-6 *
평일 오전 03시에만 실행되게 하고 싶다  →  0 3 * * 1-5 
 
③  ,
특정 시간대에만 수행하게 된다.
10분, 30분  →  10, 30 * * * *
오전 4시 오후 4시 정각  →  0 4, 16 * * *
매 월 1일 15일 자정  →  0 0 1, 15 * *
매 년 5월 11월 1일 정오  →  0 12 1 5,11 *
월, 수, 금 오후 2시 30분  →  30 2 * * 2,4,6
 
④  /
주기적으로 호출한다.
*/5 * * * *  →  매 시간 5분 마다 실행
0 */2 * * *  →  매 2시간마다 정각에 실행


4. 스케줄 등록 / 수정
아래 명령어를 실행하면 빈 vi 에디터가 뜨는 데.. 스케줄을 한줄씩 입력하고, 저장(:wq)하면 스케줄이 자동으로 등록됩니다. 
서비스 재시작없이 저장만 하면 "crontab: installing new crontab" 메세지가 뜨면서 스케줄이 등록됩니다.
스케줄 수정과 삭제도 마찬가지로 vi 에디터에서 스케줄 수정/삭제후 저장만 하면 됩니다.

[root@localhost cron]# crontab -e


5. 스케줄 삭제
현재 사용자의 예약작업을 모두 삭제

[root@localhost cron]# crontab -r


6. 스케줄 재실행
[root@localhost cron]# systemctl restart crond.service



참고자료
https://www.conory.com/note_linux/42268 
https://zetawiki.com/wiki/리눅스_반복_예약작업_cron,_crond,_crontab 

댓글목록

등록된 댓글이 없습니다.


Total 124건 2 페이지
  • RSS
기술자료 목록
104
Linux   15625  2018-01-09 17:33  
103
Linux   19676  2017-12-03 06:55 ~ 2017-12-07 07:03  
102
Linux   17610  2017-12-03 06:11  
101
Linux   29809  2017-11-23 16:32 ~ 2018-01-10 23:07  
100
Linux   12925  2017-11-21 02:59  
99
Linux   24220  2017-11-21 02:57 ~ 2017-11-21 03:00  
98
Linux   16353  2017-10-31 02:34  
97
Linux   13769  2017-10-30 23:45  
96
Linux   11593  2017-08-26 03:32 ~ 2017-10-30 23:05  
95
Linux   15694  2017-08-26 00:44 ~ 2017-08-26 00:00  
열람
Linux   16632  2017-08-26 00:30 ~ 2017-08-26 00:00  
93
Linux   19318  2017-08-11 13:06  
92
Linux   12669  2017-08-10 12:52  
91
Linux   95447  2017-08-03 23:02  
90
Linux   37146  2017-07-19 00:08 ~ 2024-11-18 15:17  
89
Linux   15505  2017-04-13 15:30 ~ 2021-02-26 16:48  
88
Linux   21645  2017-03-22 06:11  
87
Linux   12447  2017-03-21 03:36  
86
Linux   12412  2017-02-28 01:06  
85
Linux   26954  2017-02-24 22:50 ~ 2019-12-30 06:46  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.