Cron вопрос об исполнении

Предположим, я установил задание cron с помощью анакрона или с помощью crontab -e.

А что если моя машина выключится в тот момент, когда cron должен был выполнить запланированное задание?

Будет ли задание выполнено, как только моя машина будет включена? Или это не будет выполнено вообще?

3
задан 29 May 2015 в 23:29

3 ответа

Если Вы используете cron, затем задание Не будет выполняться, если компьютер будет прочь в то время.

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

Вот демонстрационная запись /etc/anacrontab:

1       5       cron.daily      run-parts --report /etc/cron.daily
  • Начальный 1 указывает, что это задание будет работать каждый день (frequency=1 день)

  • 5 указывает, что будет задержка 5 минут после запуска компьютера прежде, чем выполнить это задание

  • cron.daily идентификатор задания для anacron, это используется для идентификации определенных заданий в каталоге шпульки /var/spool/anacron/

  • run-parts --report /etc/cron.daily команда должна быть выполнена.

Так, если Ваш компьютер был выключен во время выполнения задания, anacron проверит метку времени последнего выполнения от /var/spool/anacron/cron.daily. Если это выполнялось в предыдущий день или ранее затем anacron выполнит задание и обновит метку времени соответственно.

Использование Ubuntu anacron для ежедневных, еженедельных и ежемесячных заданий. От /etc/crontab:

05 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Как Вы видите каждый день в 6:05, ежедневные задания будут выполнены от /etc/cron.daily. Если anacron существует, это проанализирует /etc/anacrontab (и выполненный run-parts выполнить файлы под /etc/cron.daily), иначе cron будет использовать run-parts непосредственно выполнить все файлы под /etc/cron.daily.

Если компьютер Прочь в то время, anacron выполнит задание после превращения его На следующем разе согласно инструкциям от /etc/anacrontab файл.

4
ответ дан 29 May 2015 в 23:29

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

anacron действительно запускает задание, когда система была выключена. Но anacron может только быть установлен на дни. Ничто меньшее.

anacron используется для рабочих столов, таким образом, Ubuntu имеет это активное (рабочие столы, как ожидают, будут выключены reguraly). крон главным образом используется для серверов (те машины имеют тенденцию работать постоянно).

0
ответ дан 29 May 2015 в 23:29

crontab как любой другой безотносительно планировщика или независимо от того, что не может работать, когда компьютер выключен.

крон является Unix, утилита, которая позволяет задачам быть автоматически выполненными в фоновом режиме равномерно демоном крона. Эти задачи часто называют как задания крона в Unix. Crontab (Таблица КРОНА) является файлом, который содержит расписание записей крона, которые будут выполнены и в требуемое время.

Так выполненный крон работает, команда

 crontab -e

откроет файл крона в Вашем редакторе по умолчанию.

Добавляют запись Вашей запланированной команды

*     *     *   *    *        command to be executed
-     -     -   -    -
|     |     |   |    |
|     |     |   |    +----- day of week (0 - 6) (Sunday=0)
|     |     |   +------- month (1 - 12)
|     |     +--------- day of        month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)

Поэтому теперь для Вашего вопроса, предполагают, что у меня есть эта запись крона:

30 23 31 5 * apt-get install foo

Это я хочу установить foo пакет в 31.05.2015 в 23:30

Поэтому, что происходит, если компьютер был выключен в это время

в простых словах, крон не выполняется и никогда не будет выполняться во всем

, Теперь предполагают, что у меня есть эта запись крона:

30 23 * 5 * apt-get install foo

Это я хочу установить foo пакет в любой день месяца 5-2015 в 23:30

Поэтому, что происходит, если компьютер был выключен в это время

в простых словах, крон не выполняется, но у Вас все еще есть некоторая возможность работать в любой день Месяца 5 в этом году в то время 23:30.

Как заключение

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

0
ответ дан 29 May 2015 в 23:29

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

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