cron 데몬이 지정된 시간에 주기적인 처리를 위한 정보를 저장해 두는 테이블 파일입니다.
각 줄은 "다섯개의 시간과 날짜 필드, 다음에, 사용자 이름(시스템 crontab 파일일 경우), 다음에 실행될 명령" 이런 형식이다. 지정한 명령은 데몬에 의해, 지정한 날짜, 시간에 실행된다.
필드 사용할 수 있는 값 ---------------------- 분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' 이런식으로 사용될 수 있다. 여섯번째 필드(줄의 마지막)에는 실행시킬 명령이 온다. 그 명령이 실행될 때 줄을 나누는 것은 `%' 문자로 하며, 즉, 이것은 쉘에 의해서 다른 명령이 실행됨을 의미한다. (`%' 문자 앞에 있는 것이 하나의 쉘 명령이며, 뒤에 있는 것이 또다른 하나의 쉘 명령임을 뜻한다.) 또한 한 명령인데, 부득이하게 줄을 나누워야 할 경우에는 백슬래쉬(\) 문자를 사용한다.
다른 유저의 profile을 이용해야 하는 경우에는 다음과 같이 처리한다. /bin/su - myuser -c "myprog">/dev/null 2>&1
@ 주의점 줄, 공문자나, 탭문자로 시작하는 줄, 줄 첫칸에 `#' 문자가 있는 줄은 모두 무시된다. 명령이 지정되어 있는 줄 안에서는 주석을 사용할 수 없다. 환경변수 설정하는 곳에는 이 주석문을 사용할 수 없다.
@ 사용예제 # 명령어를 실행 쉘 지정 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분에 보여집니다."