Перепутанный отношениями между кроном и anacron

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

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

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

15
задан 12 November 2016 в 08:03

1 ответ

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

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

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

От 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 задание предполагается к выполняемому, если система не работает, anacron выполнится script.sh Спустя 15 минут после того, как система возвращается.

Немногие ссылаются:

16
ответ дан 23 November 2019 в 02:47

Другие вопросы по тегам:

Похожие вопросы: