2008년 10월 02일 Posted title : crontab
출처: http://www.linuxcertif.com/man/5/crontab/ko/


crontab

Autres langues

Langue: ko

Version: 24 January 1994 (fedora - 25/11/07)

Autres sections - même nom

Section: 5 (Format de fichier)

window.google_render_ad();

이름

crontab - cron 처리를 위한 테이블 파일

설명

crontab 파일에 담길 내용을 cron(8) 데몬에 의해 실행될 특정 내용인데, 그 일반적인 형식은, ``이 명령을 이날 이시간에 실행하라'' 식이다. 각 사용자는 자신의 crontab 파일을 사용할 수 있으며, crontab 파일에서 지정한 명령은 자신의 프로세스로 실행된다. 일반적으로 uucp, news 같은 것을 이 crontab 파일에 지정하며, su(1) 명령으로 사용자를 바꾸었으나, 이전 사용자의 프로세스로 실행 하고자 할때 주로 사용된다.

빈 줄, 공문자나, 탭문자로 시작하는 줄, 줄 첫칸에 `#' 문자가 있는 줄은 모두 무시된다. 또한 cron 명령이 지정되어 있는 줄 안에서는 주석을 사용할 수 없다. 또한, 환경변수 설정하는 곳에는 이 주석문을 사용할 수 없다.

cron 데몬에서 처리될 각 줄은 환경변수가 지정되어 있는 줄이나, cron 명령이 지정되어 있는 줄이다. 환경변수를 지정하는 형식은 다음과 같다.


    name = value

`=' 문자 사이에 있는 공백문자는 선택적이다. name 의 값으로 지정되는 value 에는 공백문자가 없어야한다. value 값에 공백문자가 있을 경우에는 따움표(작은 따움표나, 큰 따움표, 짝이 맞아야함)로 지정한다.

여러 환경 변수들은 cron(8) 데몬에 의해 자동으로 지정된다. SHELL 값은 /bin/sh, LOGNAME과 HOME 값은 /etc/passwd 파일에서 그 crontab 파일 소유주의 것을 취한다. HOME 값과 SHELL 값은 crontab 파일에서 새롭게 지정될 수도 있지만, LOGNAME 값은 바꿀 수 없다.

(참고: LOGNAME 변수는 BSD 시스템에는 USER 라는 이름으로 사용된다. 이때는 USER 변수에 그 값이 지정된다.)

LOGNAME, HOME, SHELL 변수 값들은, cron(8) 데몬에 의해서, crontab에서 지정한 한 명령의 실행 결과를 MAILTO 명령을 사용할 때, 사용된다. MAILTO 명령이 지정되면(즉, 비어있어 않으면), 이 변수 값들을 이용해서, 그 사용자에게 편지를 보낼 것이며, MAILTO 명령이 지정되어 있지 않으면(MAILTO=""), 편지를 보내지 않는다. 한편, 윗 변수들을 따로 지정하지 않았다면, 그 crontab 파일의 소유주에게 편지가 보내진다. 이 기능은 편지를 보내는 풀그림으로 /usr/lib/sendmail 대신에, /bin/mail 명령을 사용할 경우에 유용한데, /bin/mail 명령은 aliasing(편지 받는이의 주소를 별칭으로 사용하는 기능) 하지 않고, uucp 명령은 일반적으로 그 편지를 읽지 않기때문이다. (무슨 말인지.. ^^)

cron 명령의 형식은 V7 표준과 비슷하다. 각 줄은 다섯개의 시간과 날짜 필드, 다음에, 사용자 이름(시스템 crontab 파일일 경우), 다음에, 실행될 명령이런 형식이다. 지정한 명령은 데몬에 의해, 지정한 날짜, 시간에 실행된다.(아래 설명 참조) cron(8) 데몬은 매 분단위로 그 시간을 확인한다. 시간과 날짜 필드는 다음 값이 사용된다.

필드         사용할 수 있는 값

-----         -----------------

           0-59

           0-23

날짜        0-31

           0-12 (아래 참조, 달 이름을 사용 가능)

요일        0-7 (0 또는 7: 일요일 , 요일이름을 사용 가능)

한 필드에 `*' 문자가 올 수 있는데, 이것은 그 단위 전체를 말한다. (예를 들어, 날짜 부분에 `*' 문자가 오면 `매일'을 뜻한다)

숫자의 범위가 사용될 수 있다. 범위는 하이픈(`-') 문자로 지정하며, 앞에 숫자가 뒷 숫자보다 작아야한다. 예를 들어, 시간 필드에 ``8-11'' 이 오면, 8, 9, 10, 11시를 뜻한다.

또한 이 값들은 나열될 수 있으며, 그 구분은 쉼표(`,')로 한다. 예: ``1,2,5,9'', ``0-4,8-12''.

값의 범위를 지정할 때, 특정 단위로 건너 뛸 수 있는데, 이것은 그 범위 다음에 ``/<숫자>'' 형식으로 덧붙혀 준다. 예를 들어, 시간 필드에 ``0-23/2'' 값이 사용되면, 이것은 두시간 마다, 즉 ``0,2,4,6,8,10,12,14,16,18,20,22'' 시를 뜻한다. 또한 ``매 두시간 마다''라는 뜻으로, ``*/2'' 이런식으로 사용될 수 있다.

``달''과 ``요일'' 필드에는 그 달의 이름과, 요일의 이름이 사용될 수 있다. 이 이름의 앞에서부터 세글자 정도만 구별되면 된다. 이 이름을 사용할 때는 범위가 지정될 수 없다.

여섯번째 필드(줄의 마지막)에는 실행시킬 명령이 온다. 그 명령이 실행될 때 줄을 나누는 것은 `%' 문자로 하며, 즉, 이것은 쉘에 의해서 다른 명령이 실행됨을 의미한다. (`%' 문자 앞에 있는 것이 하나의 쉘 명령이며, 뒤에 있는 것이 또다른 하나의 쉘 명령임을 뜻한다.) 또한 한 명령인데, 부득이하게 줄을 나누워야 할 경우에는 백슬래쉬(\) 문자를 사용한다.

참고: 날짜와 요일의 지정에서 중복되는 경우는, 그것이 모두 포함된다. 예를 들어,
``30 4 1,15 * 5'' 이것은 매달 1일, 15일날 4시 30분에 실행되면서, 또한 매주 금요일날도 함께 실행됨을 의미한다.

crontab 파일 예제

  # 명령어를 실행 쉘 지정 SHELL=/bin/sh # 편지를 받을 사용자 지정 MAILTO=paul # # 매일 00시 05분에 특정작업을 하는 경우 5 0 * * *       $HOME/bin/daily.job >> $HOME/tmp/out 2>&1 # 매달 1일 오후 2시 15분에 15 14 1 * *     $HOME/bin/monthly # 월요일부터 금요일 까지 매일 오후 10시에. 0 22 * * 1-5   mail -s "It's 10pm" joe%Joe,%%Where are your kids?% 23 0-23/2 * * * echo "이것은 매일 0, 2, 4, ... 시 23분에 보여집니다." 5 4 * * sun     echo "이것은 매 일요일 오전 4시 5분에 보여집니다." 

관련항목

cron(8), crontab(1)

확장

요일을 지정할 때, 0, 7 숫자 둘다, 일요일을 뜻한다. 이것은 BSD, ATT 에서 다르게 적용되기에 사용되었음.

값 나열을 하는 방식, "1-3,7-9" 형식의 값은 ATT, BSD cron에서 바르게 동작하지 않음 - 여기서는 "1-3", 또는 "7,8,9" 값만 적용됨.

건너뜀 기능 사용 가능, "1-9/2" = "1,3,5,7,9".

달 이름과 요일 이름을 사용 가능.

환경 변수 지정 가능. BSD, ATT에서는 /etc/rc에 바탕으로 한 하위 프로세스에서만 지정이 가능함.

편지 보기 기능 가능(BSD에서는 이런 기능 없음), 또한 다른 특정 사용자에게 편지를 보낼 수 있음(SysV에서는 이런 기능 없음), 또한 편지 기능 보내기 사용하지 않을 수도 있음(SysV에서는 이런 기능 없음).

만든이

 Paul Vixie <paul@vix.com>
Posted by 지니짱 | 2008/10/02 10:25 | - Unix/Linux | 트랙백
◀ 이전 페이지 다음 페이지 ▶



지니랜드
by 지니랜드
카테고리
전체
프로그래밍
자바
- 이클립스
- 기타언어 (ruby, php)
웹기술 HTML javascript
컴퓨터
- Unix/Linux
- spring
- 테스팅
툴 프로그램 설치
- 버전관리
영어
동영상
영화 책
일상
여행
아무거나
재테크
펀드
미분류
이글루링크
소스코드위를 걷다.....
life logging
거북거북 월드 (ㅡ.-..
아직 열지 않은 선물
All about IT Trends
까먹지말자!
이규영 연예영화 블로그
ok_code 블러그
최근 등록된 덧글
하핫 그렇군요. 방문 AS..
by 지니랜드 at 12/23
네^^ 제가 직접 찾아올 ..
by 염지홍 at 12/14
카테고리별로 해당되는 ..
by 지니랜드 at 05/22
이 책들을 다 보면... ..
by 랑우 at 04/14
오지천사님 좋은 정보 ..
by 지니랜드 at 03/16
잠깐지나가다가 들렀습니..
by 오지천사 at 03/09
이런 우연이 ㅎㅎㅎ, 저도..
by 지니랜드 at 03/01
저랑 2개나 같이 들으셨군..
by 상욱 at 03/01
아 그러셨구나.. 오늘 못..
by 지니랜드 at 02/28
ㅎㅎㅎ JCO 오시나 보군요..
by 윤걸 at 02/26
FISH RSS
최근 등록된 트랙백
2009 자바 개발자 컨퍼런..
by cutewebi 희정냥★
도서이벤트 4탄 (통계의..
by Korean Healthlog
『프리젠테이션 젠』출간..
by acornLoft
뉴욕의 프로그래머
by The note of Legendre
[책] 뉴욕의 프로그래머
by lovesera.com: ART o..
[행사] 매쉬업 컨퍼런..
by lovesera.com: ART o..
[행사] 매쉬업 엑스..
by lovesera.com: ART o..
루비(Ruby) 설치 및..
by Happy egoist
개발시에 참고하자.. /..
by mcsong's languid aft..
이글루 파인더
라이프로그
프리젠테이션 젠
프리젠테이션 젠

초난감 기업의 조건
초난감 기업의 조건

Stick 스틱!
Stick 스틱!

당신의 기업을 시작하라
당신의 기업을 시작하라

테스트 주도 개발
테스트 주도 개발

조엘 온 소프트웨어
조엘 온 소프트웨어

Head First Design Patterns (Paperback)
Head First Design Patterns (Paperback)

실용예제로 배우는 웹 표준
실용예제로 배우는 웹 표준

아랑은 왜
아랑은 왜

천년전의 글로벌 CEO, 해상왕 장보고
천년전의 글로벌 CEO, 해상왕 장보고

마케팅 천재가 된 맥스
마케팅 천재가 된 맥스

태그
chromeos dodreams 트위터이벤트 감귤 제주도 에도가와란포 추리소설 웨이브알리미 크롬확장기능 이벤트 아이폰 트위터 독서대 commandpattern 크롬OS 하나nbank 퀴즈 hangulime 파일다운로드 모바일뱅킹 google 커맨드패턴 underscore IETab 옷걸이 디자인패턴 아이팟 space 하나은행 땡땡이
rss

skin by 에셈