cron과 anacron의 관계에 대해 혼란


19

나는 cron과 anacron이 함께 작동하는 방법에 대한 일반적인 설명을 나타 내기 위해 헛되이 인터넷 검색을 해왔습니다. 맨 페이지는이 시점에서 나에게 너무 깊이 빠져 있습니다.

crontab에 작업을 추가하여 혼란 스럽습니다.하지만 작동하지만 crontab에서 작업을 삭제하면 여전히 anacron에서 실행됩니다. /etc/cron.daily에서 작업을 볼 수 있지만 어떻게 도착했는지 잘 모르겠습니다. cron은 항상 내 시스템에서 실행되지만 anacron은 아닙니다. 사실, 나는 anacron이 cron에 의해 시작되는 것을 본다!

기본적으로 crontab을 명확하게 편집하도록 알려주는 Google 답변이 완전하지 않기 때문에 작업을 추가하고 제거하는 방법에 대한 사용자 수준의 소개를 원합니다. 튜토리얼 링크는 괜찮을 것입니다.

답변:


19

모두 cronanacron사용자가 정의한 특정 시점에 작업을 반복의 실행을 예약 할 수 있습니다 데몬입니다.

주요 차이점 cronanacron전자는 시스템이 계속 실행되고 있다고 가정합니다. 시스템이 꺼져 있고이 시간 동안 작업이 예약되어 있으면 작업이 실행되지 않습니다.

반면 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됩니다.

몇 가지 참조 :


고맙습니다. Digital Ocean 튜토리얼은 자주있는 것처럼 특히 좋습니다. 내가 놓친 방법을 모르므로 링크에 감사드립니다.
유기농 대리석

감사. "cron.daily는 매일 매주마다 acacron을 실행"함으로써 "cron.daily는 매일 매주 anacron을 실행"합니까?
Tim

고마워 - anacron항상 켜져있는 시스템이므로 모든 VPS를 제거 했습니다. (가 처음에 거기에 도착하는 방법을 아무 생각이, 내가 들어 본 적이없는 것입니다.) 내 crontab항목 (매일, 매주, ...) 이제 모든 예상 시간에 실행.
Adambean
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.