쉘 스크립트에서 최소 시간을 식별하는 방법

쉘 스크립트에서 최소 시간을 식별하는 방법

쉘 스크립트에서 미니언을 식별하는 데 도움이 필요하십니까? 10분마다 실행되고 쉘 스크립트를 실행하는 cron이 있지만 이 스크립트가 매시간 실행되는 것을 원하지 않습니다. 그래서 최소값을 확인하여 스크립트 실행을 건너뛰려고 했습니다.

답변1

일반적으로 일정 결정은 cron이나 일정 외의 다른 프로세스에 맡기는 것이 가장 좋습니다.

cron을 사용하여 스크립트나 코드가 10분마다 실행되도록 예약하면 해당 시간에 실행되는 것을 방지할 수 있습니다.

10,20,30,40,50 * * * * my-command-here

네 것을 얻으려고 애쓰는 것보다 낫지스크립트실행될 때 감지합니다. 영향을 미치지 않습니다수동 사용당신의 스크립트.

cron 구현에 따라 다음을 수행할 수 있습니다.가능한사용

10-50/10 * * * * my-command-here

10:00부터 50:00까지 10분마다 작업을 실행합니다(즉, 전체 시간을 건너뜁니다).

아니면 그냥

10/10 * * * * my-command-here

즉, 매시 10시부터 매시 59시까지 10분 간격으로 버스가 운행됩니다.

마지막 두 예제의 구문이 시스템에서 작동하는지 테스트해야 합니다. 매뉴얼 crontab(5)( man 5 crontab)을 읽어 보는 것이 좋습니다.

답변2

귀하의 질문에 대답하기 위해 다음 bash스크립트는 "최소 시간"을 건너뛰지만코살로난다의 답변더 효율적 - 이것이 더 나은 답변입니다.

#!/usr/bin/env bash

nowminute=$(date +%M)
topofhr="00"
if [ $nowminute == $topofhr ]; then exit 0; fi 

...

balance of your script

date +%M얻다현재 값으로 시작한 date다음 비교하여 "최소 시간"(00분)인지 확인합니다.

관련 정보