내가 아는 한 crontab에는 왼쪽에서 오른쪽으로 시작하는 이러한 필드가 있습니다.
1 minutes 0-59
2 hours 0-23
3 days of month 0-31
4 month 1-12
5 day of the week 0-6
6 command
15일마다 15시 30분에 foo 명령을 실행하고 싶습니다. 이는 명령 1과 15가 실행되는 달이 30일(31일)이므로 15일마다 실행되기 때문에 이것이 정확합니다.
30 15 1,15 * * /sbin/foo -a 1> /dev/null
이 구문도 정확합니까?
30 15 */15 * * /sbin/foo -a 1> /dev/null
시스템은 Dillon Cron을 사용하는 Slackware Linux입니다.
답변1
구문은 30 15 */15 * *
정확하지만 this 와 동일하게 작동하지 않습니다 30 15 1,15 * *
.
후자는 "월" 필드에 고정된 쉼표로 구분된 값을 제공하므로 이번 달 1st
과 매월 명령을 실행합니다 .15th
/
처음부터 매일 실행되도록 정의된 단계는 */15
, (모든 달에 대해) 및 (31일이 있는 모든 달에 대해)를 의미합니다.15
1
1st
16th
31th
앞서 언급했듯이 man crontab(5)
단계 값은 범위와 함께 사용될 수 있습니다. 따라서 /
구문을 사용하여 동일한 결과를 얻으 려면 다음을 수행할 수 있습니다. 30 15 1-15/14 * *
이는 30 15 1,15 * *
.
또 다른 예를 들어, 15일마다 실행하되 매월 5일과 20일에 실행하려는 경우: 5-20/15
. 물론 이 경우에는 이라고 쓰는 것이 더 읽기 쉽습니다 5,20
. 그러나 범위와 단계를 결합하면 범위 실행의 시작과 끝을 정의할 수 있습니다.
매월 1일, 3일, 5일, 7일 등의 날:*/2
매월 2일, 4일, 6일, 8일 등의 경우:2-30/2
Minutes( 0-59
) 및 Hours( 0-23
)의 경우 첫 번째 유효한 값 은 다음과 같습니다 0
. 0 */2 * * *
at 등을 의미합니다 00:00
.02:00
04:00