Главная > Управление пакетами и системой > anacron

anacron: Запуск периодических задач после перезагрузки системы

anacron — это утилита, предназначенная для выполнения периодических задач в средах, где система не всегда включена (например, ноутбуки, настольные компьютеры). Она гарантирует, что пропущенные задачи будут выполнены при перезагрузке или пробуждении системы, предотвращая их потерю. Это похоже на `cron`, но обеспечивает большую гибкость, не завися от времени работы системы.

Обзор

anacron выполняет задачи, определенные в файле `/etc/anacrontab`, ежедневно, еженедельно или ежемесячно. Если система была выключена и пропустила время выполнения задачи, anacron выполнит эту задачу при следующем запуске системы, предотвращая потерю задач. Это отличается от `cron`, который подходит для систем, работающих круглосуточно, таких как серверы.

Основные характеристики

  • Предотвращение пропуска задач при недоступности системы
  • Выполнение задач по заданному расписанию (день/неделя/месяц)
  • Отслеживание времени последнего выполнения на основе лог-файлов
  • Особенно полезен для настольных компьютеров и ноутбуков

Основные опции

Основные опции, используемые с командой anacron.

Управление выполнением

Конфигурация/Информация

Сгенерированная команда:

Комбинируйте команды.

Описание:

`anacron` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Несколько распространенных примеров использования anacron.

Ручной запуск anacron

sudo anacron -s

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

Просмотр файла anacrontab

cat /etc/anacrontab

Просматривает файл конфигурации, где определены задачи anacron.

Запуск в режиме отладки

sudo anacron -d

Запускает anacron в режиме отладки для получения подробной информации о том, какие задачи он выполняет.

Обновление временной метки без выполнения задач

sudo anacron -u

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

Установка

anacron обычно предустановлен в большинстве дистрибутивов Linux как часть пакета `cronie` или `vixie-cron`. Если он не установлен, вы можете установить его с помощью следующих команд.

Для Debian/Ubuntu

sudo apt update && sudo apt install cronie

Устанавливает пакет `cronie` с помощью менеджера пакетов apt.

Для RHEL/CentOS/Fedora

sudo dnf install cronie
# или
sudo yum install cronie

Устанавливает пакет `cronie` с помощью менеджера пакетов dnf или yum.

Советы и замечания

Полезные советы и замечания при использовании anacron.

Основные файлы и каталоги конфигурации

Основные файлы и каталоги, управляющие поведением anacron.

  • /etc/anacrontab: Основной файл конфигурации, где определяются периодичность, задержка, идентификатор задачи и команды для выполнения задач anacron.
  • /var/spool/anacron/: Каталог, где хранятся файлы временных меток, записывающие время последнего выполнения каждой задачи. На основе этих файлов anacron определяет, были ли пропущены задачи.

Отличие от cron

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

Структура файла anacrontab

Каждая строка в файле `anacrontab` имеет формат `period delay job-identifier command`.

  • period: Периодичность выполнения задачи (например, 1 для ежедневного, 7 для еженедельного, @monthly для ежемесячного).
  • delay: Время ожидания (в минутах) перед выполнением задачи после загрузки системы. Помогает снизить нагрузку на систему.
  • job-identifier: Уникальная строка, идентифицирующая задачу. Файл временной метки с этим именем будет создан в `/var/spool/anacron/`.
  • command: Команда оболочки, которая будет фактически выполнена.

Те же команды в категории