머신이 켜져 있을 때 하루에 한 번 cronjob을 실행하지만 반드시 특정 시간에 실행할 필요는 없습니다.

머신이 켜져 있을 때 하루에 한 번 cronjob을 실행하지만 반드시 특정 시간에 실행할 필요는 없습니다.

항상 실행되지는 않지만 적어도 하루에 한 번 두 시간 동안 실행되는 머신에서 매일 한 번씩 cronjob을 실행하고 싶습니다. cronjob의 문제점은 실행될 정확한 시간을 제공해야 하지만 내 컴퓨터가 이 특정 시간에 실행되지 않을 수 있다는 것입니다. "부팅할 때 이렇게 하세요"라는 cron 옵션이 있다는 것을 알고 있지만 내 컴퓨터는 일반적으로 재부팅되지 않고 대기 상태로 둡니다. 다르게 말하면, 하루에 한 번 뭔가를 실행하고 싶지만 정확한 시간을 알 수는 없습니다. 이에 대한 해결책이 있습니까?

답변1

당신은 다음과 같은 것을 원합니다아나크론:

anacron은 전통적으로 cron에 의해 수행되는 주기적인 명령 스케줄링을 수행하지만 시스템이 지속적으로 실행되고 있다고 가정하지 않는 컴퓨터 프로그램입니다. 따라서 하루 24시간 실행되지 않는 시스템에서 일일, 주간 및 월간 작업(또는 기간이 n일인 모든 작업)의 실행을 제어하는 ​​데 사용할 수 있습니다.

대부분의 Linux 배포판에서 패키지로 사용 가능합니다. 아마도 MS Windows용 포트도 있을 것입니다.

답변2

오늘 날짜를 파일에 저장된 날짜와 비교한 다음 해당 파일을 업데이트하는 /etc/rc2.d의 시작 스크립트에서 작업을 호출할 수 있습니다.

관련 정보