Crontab 요일 구문


204

crontab에서 요일 필드는 0 - 6또는 1 -7?

이에 관한 정보가 상충되고 있습니다. wikipedia 상태 0-6및 내가 본 다른 사이트는 1-7입니다.

또한 어떤 영향을 미치거나 사용 0하거나 7잘못 사용할 수 있습니까? 즉, cron이 여전히 실행됩니까?

답변:


373

07일요일 모두 스탠드, 그렇게 0-6 또는 1-7이 같은 결과가 작성 당신이 원하는 하나를 사용할 수 있습니다.

@Henrik에 의해 제안 또한,이 같은 일의 단축 이름으로 번호를 교체 할 수 있습니다 MON, THU등 :

0 - Sun      Sunday
1 - Mon      Monday
2 - Tue      Tuesday
3 - Wed      Wednesday
4 - Thu      Thursday
5 - Fri      Friday
6 - Sat      Saturday
7 - Sun      Sunday

그래픽으로 :

 ┌────────── minute (0 - 59)
 │ ┌──────── hour (0 - 23)
 │ │ ┌────── day of month (1 - 31)
 │ │ │ ┌──── month (1 - 12)
 │ │ │ │ ┌── day of week (0 - 6 => Sunday - Saturday, or
 │ │ │ │ │                1 - 7 => Monday - Sunday)
 ↓ ↓ ↓ ↓ ↓
 * * * * * command to be executed

마지막으로 날마다 지정하려면 일을 쉼표로 구분할 수 있습니다. 예를 들어 SUN,MON,THU일요일에만, 월요일에는 목요일에만 명령을 예상합니다.

Cron에 대한 Wikipedia의 기사 에서 자세한 내용을 읽을 수 있습니다 .


4
확인 그게 내가 실현 didnt는 무엇 일요일은 0 또는 7 감사 할 수 있습니다
마티 월러스

15
: 당신이 할 수 없음을주의 Sat-Sun6-7또는Sat,Sun
pkowalczyk

대소 문자를 구분하지 않는지 확인할 수 있습니까? 귀하 의 답변으로 , 사이 SUN에서 몇 번 전환SunSunday
MichaelChirico

1
@MichaelChirico 아, 좋은 지적입니다. Cron에 대한 Wikipedia의 기사를 확인했습니다. 읽은 달과 주중 약어는 대소 문자를 구분하지 않습니다 .
fedorqui 'SO 중지 피해'

104
    :-) Sunday    |    0  ->  Sun
                  |  
        Monday    |    1  ->  Mon
       Tuesday    |    2  ->  Tue
     Wednesday    |    3  ->  Wed
      Thursday    |    4  ->  Thu
        Friday    |    5  ->  Fri
      Saturday    |    6  ->  Sat
                  |  
    :-) Sunday    |    7  ->  Sun

위에서 볼 수 있듯이 앞에서 말했듯이 숫자 07둘 다 일요일에 할당됩니다. 영어 약어 요일이 나열되어 있으며, crontab에서도 사용할 수 있습니다.

숫자 또는 약어 사용 예

15 09 * * 5,6,0             command
15 09 * * 5,6,7             command
15 09 * * 5-7               command
15 09 * * Fri,Sat,Sun       command

네 가지 예제는 모두 동일하게 수행되며 금요일, 토요일 및 일요일마다 9.15시에 명령을 실행합니다.

상세히

두 개의 숫자 07일요일이 있으면로 시작 0하거나 끝나는 요일 범위를 작성하는 데 유용 할 수 있습니다 7. 따라서 일요일과 같이 시작 0-2하거나 그와 같이 끝나는 범위를 쓸 수 있습니다 5-7(범위는 더 낮은 숫자로 시작해야하고 더 높은 것으로 끝나야합니다). 요일 범위를 정의하는 데 약어를 사용할 수 없습니다.


1
명확성을 위해 "약어를 사용하여 요일 범위를 정의 할 수 없습니다." 여기에서 statement는 약어를 하이픈-마이너스 문자로 구분할 수없고 쉼표만으로 구분할 수있는 방법 인 것 같습니다. 즉, Fri,Sat,Sun로 단축 할 수 없습니다 Fri-Sun.
Patrick Dark

8

Mon월요일, Tue화요일 등의 요일 이름을 사용할 수도 있습니다 .보다 친근한 이름입니다.


일부 배포판에서는 작동하지 않습니다. Ubuntu 14.04.3 LTS로 테스트 한 결과 "/tmp/crontab.Nuq9GE/crontab":24 : 나쁜 요일"
0x4B1D

3
@Nikita는 오타 나 여분의 공백이 있는지 확인합니다. Ubuntu 14.04.3의 crontab에 "Mon-Fri"와 "Thu"가 모두 있으며 제대로 작동합니다. 문자 사이에 공백이 있으면 오류가 발생합니다.
데일 앤더슨
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.