nohup과 crontab의 차이점은 무엇입니까? [복사]

nohup과 crontab의 차이점은 무엇입니까? [복사]

매시간 디렉토리의 내용을 삭제하고 싶다고 가정해 보겠습니다 . Python 스크립트를 사용하여 이 작업을 수행하는 nohup python dir_cleaner.py &것과 Python 스크립트를 설정하여 이 작업을 수행하는 cronjob것의 차이점은 무엇입니까 ? 이 차이에 대한 명확한 설명을 찾을 수 없습니다. 매시간 이 디렉터리에 나열된 정확한 날짜와 파일을 가져오고 파일이 삭제되기 전에 이 출력을 파일에 저장하고 싶다고 가정해 보겠습니다. 가장 좋은 접근 방식은 무엇입니까? 이런 일이 반복된다면 사과드립니다.

답변1

Python 스크립트를 실행하면 nohup한 번만 실행됩니다. 따라서 스크립트 자체는 무한 루프로 작동해야 하며 매 시간마다 반복적으로 디렉터리를 삭제해야 합니다.

또한 스크립트가 실패하여 어떤 이유로든 실행이 중지되거나 종료된 경우 자체적으로 다시 시작되지 않으므로 수동으로 다시 시작해야 합니다. 또한 스크립트가 더 이상 실행되지 않는다는 사실도 알 수 없습니다(가끔 프로세스 목록이나 생성한 출력 파일을 확인하는 경우 제외).

매시간 실행되도록 크론 작업을 설정하면 작업이 자동으로 영원히 반복됩니다. 한 번 실패하더라도 다음 시간에 다시 실행됩니다.

또한 시스템에 메일이 설정된 경우(일부 MTA가 설치 및 구성됨) cron 작업에서 생성된 모든 출력(있는 경우)이 메일로 전송됩니다. 따라서 작업이 일반적으로 출력을 생성하지 않으면 메일이 전송되지 않지만 작업이 실패하고 일부 오류 메시지가 나타나면 메일로 전송됩니다.

이것이 나에게 있어서 주요 차이점이다. 그래서 제 생각에는 스크립트를 그냥 진행시키는 것보다 크론 작업이 더 낫다고 생각합니다 nohup.

관련 정보