사용자가 로그인하지 않은 경우 cron 작업이 실행됩니까?

사용자가 로그인하지 않은 경우 cron 작업이 실행됩니까?

매일 작업을 실행하도록 crontab을 설정했습니다.

때로는 실패하고 동일한 디렉토리에서 영원히 반복/작동합니다.

다음날 crontab은 동일한 디렉토리에서 동일한 스크립트를 실행합니다.

매일 밤 작업이 완료될 것으로 예상됐는데, 이제는 하루 안에 완료되지 않으면 다음 날 작업과 뒤섞이게 된다.

매일 크론 작업(오후 5시) 전에 (매일) 다시 시작(예: 오후 4시)을 예약합니다. 다시 시작한 후에 사용자가 로그인하지 않고도 크론 작업이 실행됩니까?

#Note 문제는 crontab이 아니라 스크립트(및 스크립트가 수행하는 작업)에 있다는 것이 분명합니다.

답변1

예, cron크론 작업은 데몬이 실행 중인 한 사용자 로그인에 관계없이 예정대로 실행됩니다.

크론 작업이 예상대로 작업을 수행/완료하지 않는다고 설명하셨습니다. 이는 cron스크립트가 올바르게 트리거되었기 때문에 문제가 될 가능성은 없지만 쉘 스크립트의 논리 오류일 수 있습니다.

스크립트의 출력을 캡처하여 문제를 해결할 수 있습니다. 한 가지 방법은 스크립트가 세부 정보를 stdout/stderr로 출력하도록 한 다음 cron이메일 설정을 구성하는 것입니다. cron출력이 캡처되어 귀하에게 전송됩니다. 또 다른 접근 방식은 스크립트 내에서 직접 로깅을 수행하는 것입니다. 로그 파일을 만들고 모든 명령에 대한 stdout/stderr을 해당 파일로 리디렉션합니다.

특정 조건에서만 오류가 발생하는 경우 해당 조건에 대한 검사를 스크립트에 통합할 수 있습니다. 중요한 명령의 종료 상태를 확인하고 적절한 경우 실패를 보고할 수 있습니다.

마지막으로 재시작에 대한 참고사항입니다. 시스템이 예약된 시간에 실행되고 있지 않으면 cron시스템이 다시 온라인 상태가 된 후에도 작업이 실행되지 않습니다. 이런 상황이라면 꼭 확인해 보세요anacron.

관련 정보