Linux에서 10, 20, 30초마다 Cron 작업을 실행하는 방법


요약: cron 작업 스케줄러는 작업을 초 단위로 실행하도록 지원하지 않습니다. 이 문서에서는 Linux에서 30초 또는 x초마다 크론 작업을 실행하는 데 도움이 되는 간단한 트릭을 보여줍니다.

cron 작업 스케줄러를 처음 사용하고 30초마다 작업을 실행하고 싶습니까? 불행히도 cron은 이를 허용하지 않습니다. cron 작업이 x초마다 실행되도록 예약할 수 없습니다. Cron은 최소 60초(예: 1분)의 시간 간격만 지원합니다. 30초마다 cron 작업을 실행하려면 아래에서 설명한 트릭을 사용해야 합니다.

이 안내서에서는 x초마다 작업이나 명령 또는 스크립트를 실행하는 다른 많은 예제도 다룰 것입니다. 그러나 Linux에서 30초마다 cron 작업을 실행하는 방법부터 살펴보겠습니다.

Linux에서 30초마다 Cron 작업 실행

위의 작업을 수행하려면 crontab에 두 항목을 만듭니다. 첫 번째 작업은 매분(60초)마다 date 명령을 실행한 다음 두 번째 항목은 sleep 명령을 사용하여 지정된 시간(이 경우 30초) 동안 지연하고 date 명령을 다시 호출합니다.

crontab(cron 테이블)에 다음 항목을 추가하고 다음 crontab 명령(-e 플래그를 사용하여 편집 가능)을 사용하여 편집할 수 있도록 열어야 합니다.

# crontab -e

파일에 다음 cron 항목을 추가합니다.

* * * * * date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log 

이제 /tmp/date.log 파일의 내용을 확인하면 date 명령이 30초마다 실행되는 것을 볼 수 있습니다. 다음과 같이 cat 명령을 사용하여 파일을 보고 시간 열을 확인하여 확인할 수 있습니다.

$ cat /tmp/date.log

파일이 실시간으로 업데이트되는 것을 볼 수도 있습니다. 그렇게 하려면 -f 플래그와 함께 tail 명령을 사용하십시오.

$ tail -f /tmp/date.log

Linux에서 10초마다 Cron 작업 실행

더 많은 예를 살펴보겠습니다. 이것은 10초마다 크론 작업을 실행하는 방법을 보여줍니다. 요령은 단순히 sleep 명령을 초 단위로 사용하는 것입니다.

* * * * * date>> /tmp/date.log
* * * * * sleep 10; date>> /tmp/date.log
* * * * * sleep 20; date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log
* * * * * sleep 40; date>> /tmp/date.log
* * * * * sleep 50; date>> /tmp/date.log

다시 한 번 /tmp/date.log 파일을 보면 위의 crontab 항목을 기반으로 10초마다 업데이트되어야 합니다.

$ tail -f  /tmp/date.log

다음은 15초마다 date 명령을 실행하는 또 다른 예입니다.

* * * * * date>> /tmp/date.log
* * * * * sleep 15; date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log
* * * * * sleep 45; date>> /tmp/date.log

마지막으로 20초마다 크론 작업을 실행하려면 다음과 같이 할 수 있습니다.

* * * * * date>> /tmp/date.log
* * * * * sleep 20; date>> /tmp/date.log
* * * * * sleep 40; date>> /tmp/date.log

또한 다음은 cron을 사용하여 작업 예약을 배울 수 있는 추가 문서입니다.

  • Linux에서 Cron 작업을 만들고 관리하는 방법
  • Cron 대 Anacron: Linux에서 Anacron을 사용하여 작업을 예약하는 방법

이제 당신은 그것을 알고 있습니다! 우리는 Linux에서 x초마다 cron 작업을 실행하는 다양한 예를 보여주었습니다. 자세한 내용은 cron 매뉴얼 페이지(man cronman crontab 명령 실행)를 참조하십시오.

유용한 cron 명령 팁이나 요령을 알고 있다면 아래 댓글에 공유해 주세요.