리눅스마스터1급: 예약작업 설정하는 cron
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,171 조회
- 0 추천
- 목록
본문
리눅스마스터1급: 예약작업 설정하는 cron
cron
계획된 명령을 실행하는 데몬(Vixie Cron)이다.
대부분의 리눅스 사용자는 반복적으로 어떤 특정한 시간에 어떤 작업을 시작하도록 예약할 필요를 느낄 것이다.
그러한 작업은 분 단위로 반복되는 것일 수도 있고, 1년에 한 번 반복되는 것일 수도 있다.
이러한 예약 기능은 cron 기능을 이용하여 구현할 수 있다.
1) 개요
|
|
|
| cron |
|
|
|
|
2) 설명
cron 명령은 /etc/rc.d/init.d 또는 /etc/init.d의 crond 시작 스크립트 파일에 의해서 실행되어야 한다.
리눅스 배포판에 따라서는 /etc/rc 또는 /etc/rc.local 파일에서 실행되기도 한다.
이 명령은 즉시 리턴하기 때문에 `& 문자를 끝에 사용할 필요는 없다.
cron 명령은 crontab 파일로 /var/spool/cron/ 디렉토리 안에 있는 각 사용자의 crontab 파일을 메모리에 올린다.
또한, cron 명령은 시스템 전체의 crontab 파일인 /etc/crontab 파일과 /etc/cron.d 디렉토리 내의 파일들을 찾아 그것을 메모리에 올린다.
그리고 cron 명령은 매분마다 저장된 crontab 내용들을 확인하고, 그에 맞는 작업을 수행한다.
프로그램이 실행될 때, 필요에 따라 그 결과를 MAILTO 환경 변수에 지정된 사용자에게 편지로 보내기도 한다.
추가로 crond 명령은 cron 스풀 디렉토리가 바뀌었는지도 검사한다(또한 /etc/crontab 파일이나 /etc/cron.d 내의 파일들도 검사한다). 그래서 바뀌었다면 그대로 적용된다.
따라서 비록 그 내용이 바뀌었다고 하더라도 cron 명령을 다시 실행시킬 필요는 없다.
각 사용자는 자신의 crontab 파일을 가질 수 있고, 이 파일들은 /var/spool/cron 디렉토리 아래에 저장된다(하지만 crontab을 이용하는 것 외에 직접 수정할 수는 없다). crontab 명령은 다음과 같다.
|
|
|
| crontab [-u 사용자 ID] 파일 crontab [-u 사용자 ID] [ -l | -r | -e ] |
|
|
|
|
-u는 특정 사용자의 crontab 파일을 지정하여 사용할 때 사용한다.
-r 옵션은 현재 crontab의 내용을 지운다.
-e 옵션은 VISUAL 또는 EDITOR 환경 변수에 지정된 편집기로 현재 crontab의 내용을 편집한다.
-l 옵션은 현재 crontab 내용을 표준 출력으로 보여준다.
/etc/cron.allow 파일이 있으면 그 파일 안에 자신의 ID가 있어야 하고,
/etc/cron.deny 파일이 있으면 그 파일 안에 자신의 ID가 없어야 한다.
이 두 파일이 모두 없으면 시스템 환경설정에 따라 시스템 관리자만 사용할 수 있거나 모든 사용자가 이 명령을 사용할 수 있다.
관련자료
-
이전
-
다음