나는 cron과 anacron이 함께 작동하는 방법에 대한 일반적인 설명을 나타 내기 위해 헛되이 인터넷 검색을 해왔습니다. 맨 페이지는이 시점에서 나에게 너무 깊이 빠져 있습니다.
crontab에 작업을 추가하여 혼란 스럽습니다.하지만 작동하지만 crontab에서 작업을 삭제하면 여전히 anacron에서 실행됩니다. /etc/cron.daily에서 작업을 볼 수 있지만 어떻게 도착했는지 잘 모르겠습니다. cron은 항상 내 시스템에서 실행되지만 anacron은 아닙니다. 사실, 나는 anacron이 cron에 의해 시작되는 것을 본다!
기본적으로 crontab을 명확하게 편집하도록 알려주는 Google 답변이 완전하지 않기 때문에 작업을 추가하고 제거하는 방법에 대한 사용자 수준의 소개를 원합니다. 튜토리얼 링크는 괜찮을 것입니다.
답변
모두 cron
와 anacron
사용자가 정의한 특정 시점에 작업을 반복의 실행을 예약 할 수 있습니다 데몬입니다.
주요 차이점 cron
과 anacron
전자는 시스템이 계속 실행되고 있다고 가정합니다. 시스템이 꺼져 있고이 시간 동안 작업이 예약되어 있으면 작업이 실행되지 않습니다.
반면 anacron
에 ‘비동기 적’이며 연중 무휴로 실행되지 않는 시스템을 위해 설계되었습니다. 작동하려면 anacron
타임 스탬프 파일을 사용하여 명령이 마지막으로 실행 된 시간을 확인하십시오. 또한 파일 /etc/anacrontab
과 마찬가지로 파일을 유지 관리합니다 cron
. 또한 cron.daily
매일 anacron을 실행합니다. 따라서 anacron
하루에 한 번만 작업 cron
을 실행할 수 있지만 1 분마다 자주 실행할 수 있습니다.
보낸 사람 man anacrontab
:
Anacron을 실행하면 구성 파일 (일반적으로 / etc / anacrontab)에서 작업 목록을 읽습니다 (anacrontab (5) 참조). 이 파일에는 Anacron이 제어하는 작업 목록이 포함되어 있습니다. 각 작업 항목은 기간 (일), 지연 시간 (분), 고유 한 작업 식별자 및 쉘 명령을 지정합니다.
Anacron은 각 작업에 대해 지난 n 일 동안이 작업이 실행되었는지 확인합니다. 여기서 n은 해당 작업에 지정된 기간입니다. 그렇지 않은 경우 Anacron은 지연 매개 변수로 지정된 시간 (분) 동안 기다린 후 작업 쉘 명령을 실행합니다.
명령이 종료 된 후 Anacron은 해당 작업에 대한 특수 타임 스탬프 파일에 날짜를 기록하므로 다시 실행할시기를 알 수 있습니다. 시간 계산에는 날짜 만 사용됩니다. 시간이 사용되지 않습니다.
즉, 작업이 매일 실행되도록 예약되어 있고 해당 시간 동안 컴퓨터가 꺼진 경우 anacron이 실행될 때 작업이 24 시간 전에 마지막으로 실행 된 것을 확인하고 작업을 올바르게 실행할 수 있습니다.
예를 들어 다음을 지정하면 /etc/anacrontab
:
7 15 test.daily /bin/sh /home/username/script.sh
script.sh
작업이 실행되는 날짜 에 시스템이 실행 중이 아닌 경우 시스템이 백업 된 후 15 분이 지나면 anacron
실행 script.sh
됩니다.
몇 가지 참조 :