C로 작성된 스텁 애플리케이션이 있습니다. 이제 이 애플리케이션을 주기적으로, 즉 매일 오전 11시 30분에 실행하고 싶습니다. 나는 사용하고 싶다예약 된 일들프로세스가 있지만 어떻게 해야 할지 모르겠습니다. 도와주세요.
내가 너무 할예약 된 일들애플리케이션이 제대로 작동하는지 정기적으로 확인하세요. 응용 프로그램이 충돌하거나 중단되는 경우,예약 된 일들일정 시간 내에 애플리케이션을 다시 시작할 수 있어야 합니다.
답변1
Cron은 다른 프로세스를 처리하는 대신 예약된 간격으로 예약된 작업을 실행하는 데 사용됩니다.
당신은 할 수 있습니다:
호스트 OS용 초기화 스크립트 시스템과 같은 다른 것을 사용하거나,
inittab
종료되면 자동으로 다시 생성되는 사용자 정의 작업이 있을 수도 있습니다.또는 주기적으로 실행되는 쉘 스크립트 형태로 무언가를 함께 구성하여
cron
미리 결정된 검사 세트를 사용하여 데몬 스크립트가 제대로 실행되고 있는지 확인하고, 실행 후 정리되지 않으면 재시작-실행을 수행합니다.
답변2
crontab 파일에 항목을 작성하기만 하면 됩니다.
$ crontab -e
그런 다음 귀하의 입력에 따라 종료하십시오.http://www.manpagez.com/man/5/crontab/
[email protected]
30 11 * * * /path/to/your/command
MAILTO
명령이 STDERR에서 출력을 생성하는 경우 이 항목이 포함된 이메일을 받게 됩니다.
프로세스가 정지되었는지 확인하는 것이 더 어렵습니다. 정지가 무엇을 의미하는지 정의해야 합니다. 특정 시간보다 오래 실행됩니까? 인식 가능한 동작을 생성합니까?
나중에 언제든지 두 번째 프로세스나 스크립트를 실행하여 프로세스가 아직 실행 중인지 확인하고 적절한 조치를 취할 수 있습니다.
답변3
크로니토(https://cronitor.io)는 이 목적을 위해 특별히 만든 도구입니다. 기본적으로 http 요청을 사용하여 cron 작업/예약된 작업의 시작과 끝을 기록하는 추적 비콘으로 요약됩니다.
Cronitor를 사용하는 이점 중 하나는 추적 요청을 스크립트로 작성하고 실패를 즉시 보고하는 호출을 할 수도 있다는 것입니다. 이러한 유연성을 통해 애플리케이션이 실패를 보고하도록 래퍼를 작성할 수 있습니다.그리고실패 시 스크립트를 다시 시작해 보세요.