Найти в Дзене
takoedelo

7 полезных альтернатив Cron для Linux

Оглавление

Те, кто знаком с системой Unix, также знакомы с приложением cron, которое позволяет планировать и автоматизировать выполнение задач самостоятельно. Однако cron не идеален, так как требует, чтобы ваша система работала 24 часа в сутки. Если у вас есть привычка выключать компьютер ночью, а задание cron запланировано на часы сна, задача не будет выполнена. К счастью, есть несколько альтернатив cron, которые могут работать лучше, чем cron. Давайте посмотрим их.

1. Anacron

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

Для начала просто установите anacron в своей системе. Он доступен в большинстве менеджеров пакетов. Используйте следующую команду для установки в Ubuntu:

-2

Anacron работает аналогично cron. Вы можете добавить свою работу в /etc/anacrontab файл.

Например, для ежедневного запуска сценария резервного копирования вы можете добавить следующую команду:

-3

Недостатком anacron является то, что он имеет дело только с задачами по ежедневному, еженедельному или ежемесячному графику. Вы не можете использовать его для почасового или минутного графика.

2. Cronie

Еще одна блестящая альтернатива cron, которую вы можете установить , -это Crony. В отличие от предыдущей, Cronie - это небольшой набор программного обеспечения, целью которого является обеспечение полного опыта cron. Для этого Crony по умолчанию включает пакет anacron. Это означает, что crony может обеспечить как синхронное, так и асинхронное планирование заданий из коробки.

Кроме того, установка cronie относительно проста. Во-первых, вам нужно получить исходный код программы со страницы Github:

wget https://github.com/cronie-crond/cronie/releases/download/cronie-1.6.1/cronie-1.6.1.tar.gz

После этого распакуйте архив, запустив tar на терминале:

-4

Оттуда перейдите в каталог Crony и скомпилируйте исходный код программы:

-5

После этого вы можете использовать Crony для управления заданиями cron на вашем компьютере. Подобно anacron и cron, вы можете создать задание cron, запустив crontab -e. Это позволит вам редактировать crontab вашего пользователя. Crony также следует стандартному формату:

-6

3. fcron

Fcron - взял лучшее из cron и anacron. Он не требует, чтобы ваш компьютер работал 24 × 7, и он может работать с задачами на почасовой или минутной основе.

Единственный способ установить Fcron - загрузить исходный файл и скомпилировать его самостоятельно.

  1. Загрузите исходный файл здесь. http://fcron.free.fr
  2. Распакуйте архив. Откройте терминал и измените путь к извлеченной папке архива.
  3. Выполните следующие команды:
-7

Он задаст вам несколько вопросов во время установки, и вы можете смело ответить “y” (да) на все из них.

Чтобы начать создание задания fcron, просто введите fcron -e в терминале.

Синтаксис для fcron похож на cron:

минута час день месяца месяц день недели команда для выполнения

4. bcron

Bcron - это простая и современная альтернатива стандартной программе cron. Подобно Cronie, bcron стремится предоставить набор программного обеспечения, который управляет расписанием заданий вашей системы. Он делает это, разделяя все функции компонентов cron на их собственные соответствующие программы. Это, в свою очередь, позволяет bcron быть как модульным, так и более безопасным.

При этом установка bcron невероятно проста. В этом случае, если вы используете Debian или Ubuntu, вы можете установить программу через apt:

-8

После этого вы можете использовать bcron для планирования задач в вашей системе. Для этого вам нужно сначала выполнить следующую команду, чтобы включить программу:

-9

Первая команда запустит bcron в вашей системе, а вторая скажет bcron открыть и обновить файлы crontab и cron.d. Оттуда синтаксис создания новой задачи похож как на anacron, так и на crony. Например, я могу написать следующую строку, чтобы сказать bcron запускать мой скрипт каждый раз в 5 утра 1-го числа каждого месяца:

-10

5. Hcron

Hcron относительно неизвестен, но это не делает его менее полезным. На самом деле, он поставляется с несколькими функциями, которые делают его уникальным. Например, вы можете легко маркировать и организовывать задания типа cron, управлять сетью компьютеров и файлами crontab ваших пользователей, легко настраивать и контролировать версии заданий типа cron.

Чтобы установить hcron, загрузите файл .deb (или .rpm, в зависимости от вашей системы Linux) и установите его в свою систему.

Hcron хранит каждое событие в виде обычного текстового файла. Чтобы начать работу, просто создайте текстовый файл с командой:

-11

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

-12

Есть еще много вещей, которые вы можете сделать с hcron, и желательно изучить руководство пользователя, чтобы лучше понять, как это работает.

6. Jobber

Jobber - это планировщик задач, написанный на GO и более мощный инструмент, чем cron. Он имеет историю выполнения заданий со статусом, контролируя, выполняется ли задание снова после сбоя, и получать уведомления о каждом неудачном запуске или только о заданиях, которые были отключены из-за повторных сбоев.

Чтобы установить Jobber, вы должны убедиться, что GO установлен в вашей системе. Далее введите команды:

-13

После установки запустите Jobber с помощью команды:

-14

Для создания заданий создайте файл с именем “.jobber” в вашем домашнем каталоге и добавьте задание в следующем формате:

-15

Как вы можете видеть из формата, он позволяет вам определить действия, которые нужно предпринять, когда у него есть ошибки (“Stop”, “Backoff” или “Continue”), и должен ли он уведомлять вас о сбое.

После обновления списка заданий используйте jobber reload, чтобы заставить Jobber перезагрузить новый список.

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

7. mcron

Mcron - это быстрая и инновационная программа планирования задач для Linux. Подобно программам выше, mcron стремится предоставить вам простой способ управления сценариями и программами, которые вы хотите запустить в своей системе. В отличие от программ выше, mcron также стремится переопределить планирование задач, восстанавливая задания cron.

-16

При этом установка mcron невероятно проста. Он доступен как в Debian, так и в Ubuntu, и вы можете легко установить его, выполнив следующие действия:

-17

После этого вы можете начать использовать mcron в качестве планировщика. Для этого вам нужно сначала создать каталог, в котором mcron будет искать свои задачи:

-18

Теперь вы можете отредактировать этот файл cron, чтобы он содержал все задания, которые вы хотите выполнить mcron. В отличие от программ выше, mcron использует альтернативный синтаксис для планирования:

-19
  • job Функция сообщает mcron, что эта строка Lisp содержит задачу, которую необходимо запланировать.
  • type и range- это списки, содержащие информацию о времени для mcron. В этом тип управляет шкалой, на которой будет работать mcron, а диапазон определяет интервал времени для этой шкалы.
  • Наконец, command это строка, которая сообщает mcron, какую команду или программу ему нужно запустить.

При этом можно написать следующее в свой файл .config / cron, чтобы запускать свой скрипт один раз в час в течение трех часов в день:

-20

Какая альтернатива cron лучше ?

Хотя это очень субъективный вопрос, хорошая альтернатива cron должна быть в состоянии сделать все, что вам может понадобиться для вашего конкретного случая использования. Например, вы можете рассмотреть возможность использования более простых планировщиков задач, таких как anacron и cronie, если вы планируете использовать cron только для случайных базовых задач.

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

Смотрите другие статьи на нашем канале .

5 лучших оконных менеджеров для Linux

9 лучших настольных сред Linux

15 терминов Linux, о которых вы должны знать

Вы также можете оставить свое мнение об этом посте в разделе комментариев.