크론 작업 타이밍


8

9시 30 분에 크론 작업을 시작한 다음 5 분마다 작업 한 다음 16:30에 정직하고 싶습니다. 이런 종류의 스케줄링이 하나에서 가능합니까, 아니면 두 개의 cron 작업이 필요합니까?

답변:


10

나는 다음 라인을 따라 무언가를 생각한다.

30/5 9-16 * * *  /usr/bin/script_to_run.sh

타이밍 구문에 대한 자세한 내용은 위키 페이지 를 참조하십시오 . 실행 시간을 파일로 기록하는 스크립트로 이것을 테스트하는 것이 좋습니다.

#!/bin/bash

echo "Cron ran at: " `date` >> /var/log/crontimetest.log

2
"30/5"가 사용 된 것을보고 놀랐습니다. 그래서 cron 소스 코드, 특히 crontab의 각 줄을 구문 분석하는 entry.c를 살펴 보았습니다. get_range () 함수에서 첫 번째 숫자 뒤의 문자 (이 예에서는 30)가 '-'인지 여부를 확인합니다. 그렇지 않으면 '/'가 표시되지 않습니다. 이것은 버그입니다. " '/'는 * 또는 nm 범위 다음에 만 의미가 있습니다"형식의 경고 (또는 오류 메시지)를 인쇄해야합니다. 미안 사람들!
Paul Vixie

7

세 개의 crontab 항목이 필요합니다.

30-55/5 9 * * * /usr/bin/script-to-run.sh
*/5 10-15 * * * /usr/bin/script-to-run.sh
0-30/5 16 * * * /usr/bin/script-to-run.sh

crontab 항목의 기괴하고 쓸모없는 구문에 대해 Linux 또는 bsd 또는 나를 비난하지 마십시오. 이것은 AT & T Bell Labs에서 개발되었으며 나중에 POSIX의 일부로 표준화되었습니다.


4

세 가지 직업이 필요하다고 생각합니다.

 */5 10-15 * * * yourjob
 0,5,10,15,20,25,30 16 * * * yourjob
 30,35,40,45,50,55 9 * * * yourjob
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.