Scroll to navigation

CRONTAB(5) File Formats Manual CRONTAB(5)

이름

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

설명

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

Blank lines and leading spaces and tabs are ignored. Lines whose first non-space character is a pound-sign (#) are comments, and are ignored. Note that comments are not allowed on the same line as cron commands, since they will be taken to be part of the command. Similarly, comments are not allowed on the same line as environment variable settings.

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분에 실행되면서, 또한 매주 금요일날도 함께 실행됨을 의미한다.

EXAMPLE CRON FILE

# use /bin/sh to run commands, no matter what /etc/passwd says
SHELL=/bin/sh
# mail any output to `paul', no matter whose crontab this is
MAILTO=paul
#
# run five minutes after midnight, every day
5 0 * * *       $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
# run at 2:15pm on the first of every month -- output mailed to paul
15 14 1 * *     $HOME/bin/monthly
# run at 10 pm on weekdays, annoy Joe
0 22 * * 1-5	mail -s "It's 10pm" joe%Joe,%%Where are your kids?%
23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday"
5 4 * * sun     echo "run at 5 after 4 every sunday"
# Run once every 9th day, even across week, month, and year boundaries:
33 22 * * *     expr $(date +s) / 60 / 60 / 24  9 > /dev/null || echo Wax the floor.

추가 참조

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>

번역

이 매뉴얼 페이지의 한국어 번역은 다음에 의해 편집되었습니다:

이 번역은 무료 문서입니다. 저작권 조건에 대해서는 GNU General Public License 버전 3 이상을 읽으십시오. 책임이 없습니다.

이 매뉴얼 페이지의 번역에서 오류를 발견하면 translation-team-ko@googlegroups.com 로 이메일을 보내주십시오.

1994년 1월 24일 4th Berkeley Distribution