Смущает связь между cron и anacron

6

Я тщетно искал поисков, чтобы показать общее объяснение того, как работают cron и anacron. Страницы руководства немного глубже для меня в данный момент.

Я запутался, потому что добавляю задачи в crontab, и это работает, но когда я удаляю их из crontab, они все еще работают под anacron. Я вижу задачи в /etc/cron.daily, но я не уверен, как они туда попали. cron работает на моей системе всегда, но не anacron. Фактически, я вижу, что anacron запускается cron!

В принципе, мне бы хотелось, чтобы на уровне пользователя было указано, как добавлять и удалять задачи, так как легко разрешаемые ответы, которые говорят, что вы редактируете crontab, явно не завершены. Ссылка на учебник будет в порядке.

    
задан Organic Marble 12.11.2016 в 16:03
источник

1 ответ

6

Оба cron и anacron являются демонами, которые могут планировать выполнение повторяющихся задач до определенного момента времени, определенного пользователем.

Основное различие между cron и anacron состоит в том, что первая предполагает, что система работает непрерывно. Если ваша система выключена и у вас запланировано задание в течение этого времени, работа никогда не будет выполнена.

С другой стороны, anacron является «анахроничным» и предназначен для систем, которые не работают 24x7. Для работы anacron использует файлы с отметкой времени, чтобы узнать, когда последний раз выполнялись его команды. Он также поддерживает файл /etc/anacrontab , как и cron . Кроме того, cron.daily запускает anacron каждый час. Кроме того, anacron может запускать задание только один раз в день, но cron может работать так часто, как каждую минуту.

От man anacrontab :

  

При выполнении Anacron считывает список заданий из файла конфигурации,   как обычно          / etc / anacrontab (см. anacrontab (5)). Этот файл содержит список заданий, которые          Контроль анакронов. Каждая запись задает период в днях, задержку в минутах, уникальный идентификатор задания и команду оболочки.

     

Для каждого задания Anacron проверяет, выполнялось ли это задание в   последнее п          дней, где n - период, указанный для этой работы. Если нет, Anacron запускает          команда оболочки задания, после ожидания количества минут, указанных как          параметр задержки.

     

После выхода команды Anacron записывает дату в специальном   файл временной метки          для этой работы, поэтому он может знать, когда ее выполнять снова. Используется только дата          для расчета времени. Час не используется.

Это означает, что если задание планируется запустить ежедневно, а компьютер был отключен в течение этого времени, когда запускается anacron, он может видеть, что задача была выполнена в последний раз более 24 часов назад и правильно выполнить задачу.

Например, если вы указали следующее в /etc/anacrontab :

7       15      test.daily      /bin/sh /home/username/script.sh

и в день, когда должно выполняться задание script.sh , если система не работает, anacron выполнит script.sh через 15 минут после возврата системы.

Несколько ссылок:

Страница Anacron sourceforge

Цифровая океаническая страница

Документация RedHat на cron и anacron     

ответ дан Ron 12.11.2016 в 18:19
источник