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 등록형식[ | ]
text
Copy
* * * * * 수행할 명령어
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일)
│ │ │ └───────── 월 (1 - 12)
│ │ └───────── 일 (1 - 31)
│ └───────── 시 (0 - 23)
└───────── 분 (0 - 59)
- → "분시일월요"
3 예시[ | ]
text
Copy
* * * * * /root/every_1min.sh
- → 매 1분마다 /root/every_1min.sh 를 수행 (하루에 1440회[2])
text
Copy
15,45 * * * * /root/every_30min.sh
- → 매시 15분, 45분에 /root/every_30min.sh 를 수행 (하루에 48회[3])
text
Copy
*/10 * * * * /root/every_10min.sh
- → 10분마다 /root/every_10min.sh 를 수행 (하루에 144회[4])
text
Copy
0 2 * * * /root/backup.sh
- → 매일 02:00에/root/backup.sh 를 수행 (하루에 1회)
text
Copy
30 */6 * * * /root/every_6hours.sh
- → 매 6시간마다 수행(00:30, 06:30, 12:30, 18:30)
text
Copy
30 1-23/6 * * * /root/every_6hours.sh
- → 1시부터 매 6시간마다 수행(01:30, 07:30, 13:30, 19:30)
text
Copy
0 8 * * 1-5 /root/weekday.sh
- → 평일(월요일~금요일) 08:00
text
Copy
0 8 * * 0,6 /root/weekend.sh
- → 주말(일요일, 토요일) 08:00
4 작업목록 확인[ | ]
![](https://z-images.s3.amazonaws.com/thumb/e/ec/Crystal_Clear_app_xmag.svg/24px-Crystal_Clear_app_xmag.svg.png 1.5x, https://z-images.s3.amazonaws.com/thumb/e/ec/Crystal_Clear_app_xmag.svg/32px-Crystal_Clear_app_xmag.svg.png 2x)
현재 사용자
Console
Copy
[root@zetawiki ~]# crontab -l
no crontab for root
다른 사용자
Console
Copy
[root@zetawiki ~]# crontab -l -u testuser
no crontab for testuser
5 수동 등록 ★[ | ]
Bash
Copy
crontab -e
vi 편집기나 Nano 에디터로 현재 사용자에 대한 cron작업의 확인/수정을 직접 할 수 있다.
6 등록 스크립트[ | ]
![](https://z-images.s3.amazonaws.com/thumb/e/ec/Crystal_Clear_app_xmag.svg/24px-Crystal_Clear_app_xmag.svg.png 1.5x, https://z-images.s3.amazonaws.com/thumb/e/ec/Crystal_Clear_app_xmag.svg/32px-Crystal_Clear_app_xmag.svg.png 2x)
7 삭제[ | ]
현재 사용자의 예약작업을 모두 삭제
Bash
Copy
crontab -r
실행예시
Console
Copy
[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 연습과제[ | ]
- 1분마다 "Hello World" hello.txt 파일에 기록하기
- 1분마다 "Hello World - 현재시각" greet.txt 파일에 기록하기
- 2분마다 "Hello World - 현재시각" greet.txt 파일에 기록하기
9 같이 보기[ | ]
- 작업 스케줄러
- /var/log/cron
- 크론 로그 확인
- PHP 배치 작업
- 아나크론 anacron
- /etc/crontab 기본값
- 쿠버네티스 CronJob
- 미디어위키 봇 자동화
- 크론탭 작업 디렉토리
- 리눅스 재부팅 예약작업
- crontab 홀수 짝수 시각
- 리눅스 1회성 예약작업 at
- 크론탭 작업 N분마다 수행
- 스크립트에서 crontab 수정
- crontab 작업 목록 전체 보기
- cron.allow, cron.deny
10 참고[ | ]
편집자 Estanthan7 Jmnote 182.208.120.169 118.219.241.134 Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.
… 2015-11-20