복붙노트

[SPRING] 특정 날짜의 Cron 식

SPRING

특정 날짜의 Cron 식

나는 2010 년 9 월 6 일 오전 6시를 대표하는 cron 식을 원한다.

해결법

  1. ==============================

    1.원래 질문은 cron으로 태그가 지정되었으므로이 첫 번째 섹션이 cron에 적용됩니다. Quartz CronTrigger 도구에 대한 업데이트 된 답변은 아래를 참조하십시오.

    원래 질문은 cron으로 태그가 지정되었으므로이 첫 번째 섹션이 cron에 적용됩니다. Quartz CronTrigger 도구에 대한 업데이트 된 답변은 아래를 참조하십시오.

    대부분의 crontab은 일년을 지정할 수 없으므로 아마 스크립트 자체 (또는 스크립트 / 프로그램을 감싸는 래퍼)에 넣어야 할 것입니다.

    다음과 같은 방법으로이 작업을 수행 할 수 있습니다.

    if [[ $(date +%Y) != 2010 ]] ; then
        exit
    fi
    

    매년 9 월 6 일 오전 6시에 실행하려는 옵션은 다음과 같습니다.

    0 6 6 9 * your_command_goes_here
    | | | | |
    | | | | +- any day of the week.
    | | | +--- 9th month (September).
    | | +----- 6th day of the month.
    | +------- 6th hour of the day.
    +--------- Top of the hour (minutes = 0).
    

    Quartz CronTrigger 형식의 경우 다음과 같은 내용을 볼 수 있습니다.

    0 0 6 6 9 ? 2010
    | | | | | |   |
    | | | | | |   +- 2010 only.
    | | | | | +----- any day of the week.
    | | | | +------- 9th month (September).
    | | | +--------- 6th day of the month.
    | | +----------- 6th hour of the day.
    | +------------- Top of the hour (minutes = 0).
    +--------------- Top of the minute (seconds = 0).
    

    (여기서 얻은 세부 정보).

  2. ==============================

    2.원샷 작업의 경우 'at'명령이 cron보다 더 적합합니다.

    원샷 작업의 경우 'at'명령이 cron보다 더 적합합니다.

    at -f filename 06:00 09/06/2010
    
  3. ==============================

    3.다음과 같이 / etc / crontab에서만 가능합니다 :

    다음과 같이 / etc / crontab에서만 가능합니다 :

    0 6 6 9 * root test `/bin/date +%Y` == 2010 && <your command>
    
  4. from https://stackoverflow.com/questions/3665441/cron-expression-for-particular-date by cc-by-sa and MIT license