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

본문 바로가기
사이트 내 전체검색

기술자료

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

페이지 정보

댓글 0건 조회 1,655회 수정일 17-08-26 00:00

본문

리눅스에는 일정시간마다 자동으로 명령을 실행해주는 스케줄러가 존재한답니다. 
예약된 시간에 정확히 프로그램이나 명령을 실행해주는 존재.. 바로 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 107건 1 페이지
기술자료 목록
번호 제목
107 Linux
106 Linux
[CentOS 7] 방화벽 firewall-cmd 설치 실행 ( write. 2018-01-30 ) Hit.1589
105 Linux
-bash: ftp: command not found ( write. 2018-01-09 ) Hit.1387
104 Linux
[FreeTDS] TDS(Tabular Data Stream) ( update. 2017-12-07 07:03 ) Hit.863
103 Linux
SED 명령어 사용법 ( write. 2017-12-03 ) Hit.972
102 Linux
101 Linux
100 Linux
cannot execute binary file 에러가 날 때 ( update. 2017-11-21 03:00 ) Hit.2087
99 Linux
[MSSQL] FreeTDS Yum 간단 설치 방법 ( write. 2017-10-31 ) Hit.1380
98 Linux
97 Linux
[Backup.2] 리눅스 백업 1.0 ( update. 2017-10-30 23:05 ) Hit.1193
96 Linux
열람중 Linux
리눅스 예약 실행 스케줄러 crontab ( update. 2017-08-26 ) Hit.1656
94 Linux
[CentOS] unzip 사용하기 ( write. 2017-08-11 ) Hit.1568
93 Linux
92 Linux
91 Linux
90 Linux
89 Linux
[CentOS 6.8] Let’s encrypt 설치 및 운용 ( write. 2017-03-22 ) Hit.3544
88 Linux
87 Linux
86 Linux
VSFTP의 FTP를 위한 Port 변경 방법 ( update. 2018-01-30 16:22 ) Hit.3429
85 Linux
84 Linux
[CenOS 6.8] Apache 2.2.15 설치하기 ( write. 2017-02-24 ) Hit.2333
83 Linux
[CentOS 7] 서비스 실행 systemctl ( update. 2018-07-08 02:22 ) Hit.2857
게시물 검색

회원로그인

계좌이체 or 신용카드 결제하기
해피정닷컴으로 대금결제를 할 수 있습니다

접속자집계

오늘
1,056
어제
2,584
최대
3,174
전체
4,133,677

회사명: 해피정닷컴   사업자번호: 119-05-36414   전화: 070-7600-3500   팩스: 02-865-3528   주소: 08394 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
대표: 정창용   개인정보보호책임자: 정창용   통신판매업신고번호: 2014-서울구로-0074 [사업자등록정보확인]   건강기능식품영업신고번호 제2018-0080452호
Copyright 2001~2018 해피정닷컴. All Rights Reserved.