구성 작업 만료

구성 작업 만료

현재 Linux를 배우고 있으며 cron 및 crontab을 사용하여 예약 작업을 연습하고 있는데 예약된 작업이 실행되는 횟수를 제한할 수 있는지 알고 싶습니다. 매뉴얼 페이지에서 작업이 주기적으로 실행되도록 예약하는 방법을 볼 수 있지만 특정 실행 횟수나 작업 실행을 중지해야 하는 날짜를 제공하는 방법을 찾지 못했습니다. 이것이 가능합니까?

답변1

예: "2019년 2월 4일 월요일 08:30:00 UTC"(Unix 타임스탬프 1549269000)까지 매시간 실행되는 작업은 다음과 같습니다.

@hourly [ "$( date +\%s )" -lt 1549269000 ] && /path/to/my-script.sh

이 직업은 여전히 ​​기술적으로달리기, 그러나 실행되지 않습니다스크립트주어진 타임스탬프 이후.

마찬가지로 시간당 5번만 실행되는 작업은 다음과 같습니다.

@hourly ( f="$HOME/job.count";c=0;[ -f "$f" ] && read c <"$f"; echo "$(( c + 1 ))" >"$f"; [ "$c" -lt 5 ] ) && /path/to/my-script.sh

위의 작업은 미화 후 다음과 같습니다.

(
    f="$HOME/job.count"
    c=0
    [ -f "$f" ] && read c <"$f"
    echo "$(( c + 1 ))" >"$f"
    [ "$c" -lt 5 ]
) && /path/to/my-script.sh

이는 상태 파일을 사용하여 $HOME/job.state작업이 실행된 횟수를 저장합니다. 파일이 존재하는 경우 해당 파일의 숫자를 에서 읽은 다음 c즉시 동일한 파일에 다시 기록하고 증가합니다. 숫자가 5보다 작으면 스크립트를 실행합니다.

이번에도 이 작품은달리기상태 파일의 내용에 관계없이 매시간, 그러나스크립트상태 파일의 값이 5보다 작은 경우에만 실행됩니다.

관련 정보