Аналог cron для linux

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

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

1. Anacron

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

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

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

Синтаксис добавления задания следующий:

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

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

2. fcron

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

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

  1. Скачайте отсюда файл с исходным кодом.
  2. Распакуйте архив. Откройте терминал и перейдите в каталог с распакованным архивом.
  3. Выполните следующие команды:

Во время установки вам будет задано несколько вопросов и на каждый из них можно смело отвечать «Y» (да).

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

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

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

Для тех, кто предпочитает использовать графический интерфейс, можно предложить приложение fcronq.

3. Hcron

Приложение hcron не очень известно, но это не делает его менее полезным. На самом деле, оно поставляется с несколькими функциями, которые делают его уникальным. Например, вы можете помечать задания именами и группировать задания cron, управлять сетью компьютеров и пользовательскими файлами crontab, делать резервные копии и создавать задания cron для задач, использующих системы контроля версий. Единственный недостаток в том, что это приложение не обновлялось с 2010 года.

Чтобы установить приложение hcron, скачайте файл .deb и установите его в вашей системе. Для дистрибутивов, в котором используется формат rpm, можно конвертировать файл deb в формат rpm .

В приложении hcron все события хранятся в виде простого текстового файла. Для начала, создайте текстовый файл с помощью следующей команды:

В текстовом редакторе, когда тот откроется, вы можете указать детали события.

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

4. Jobber

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

Читайте также:  Diskpart восстановить загрузчик windows

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

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

Чтобы создать задание, создайте в вашем домашнем каталоге файл с именем «.jobber» и добавьте в него задание в следующем формате:

Как видно из описания формата, приложение позволяет указывать действия, которые должны выполняться в случае возникновения ошибок («Stop», «Backoff» или «Continue» — «Больше не выполнять», «Отложить выполнение» или «Продолжить»), а также указывать, будет ли приложение сообщать вам о том, что возникла проблема.

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

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

Заключение

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

Источник

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

Оригинал: 4 Useful Cron Alternatives For Linux
Автор: Damien
Дата публикации: 30th January 2015
Перевод: Н.Ромоданов
Дата перевода: март 2015 г.

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

1. Anacron

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

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

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

Синтаксис добавления задания следующий:

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

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

2. fcron

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

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

  1. Скачайте отсюда файл с исходным кодом.
  2. Распакуйте архив. Откройте терминал и перейдите в каталог с распакованным архивом.
  3. Выполните следующие команды:

Во время установки вам будет задано несколько вопросов и на каждый из них можно смело отвечать «Y» (да).

Читайте также:  Audio note для windows

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

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

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

Для тех, кто предпочитает использовать графический интерфейс, можно предложить приложение fcronq.

3. Hcron

Приложение hcron не очень известно, но это не делает его менее полезным. На самом деле, оно поставляется с несколькими функциями, которые делают его уникальным. Например, вы можете помечать задания именами и группировать задания cron, управлять сетью компьютеров и пользовательскими файлами crontab, делать резервные копии и создавать задания cron для задач, использующих системы контроля версий. Единственный недостаток в том, что это приложение не обновлялось с 2010 года.

Чтобы установить приложение hcron, скачайте файл .deb и установите его в вашей системе. Для дистрибутивов, в котором используется формат rpm, можно конвертировать файл deb в формат rpm.

В приложении hcron все события хранятся в виде простого текстового файла. Для начала, создайте текстовый файл с помощью следующей команды:

В текстовом редакторе, когда тот откроется, вы можете указать детали события.

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

4. Jobber

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

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

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

Чтобы создать задание, создайте в вашем домашнем каталоге файл с именем «.jobber» и добавьте в него задание в следующем формате:

Как видно из описания формата, приложение позволяет указывать действия, которые должны выполняться в случае возникновения ошибок («Stop», «Backoff» или «Continue» — «Больше не выполнять», «Отложить выполнение» или «Продолжить»), а также указывать, будет ли приложение сообщать вам о том, что возникла проблема.

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

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

Заключение

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

Источник

Cron — всё? systemd.timers теперь рулит и педалит? А так же аналогичные программы на GUI — что выбрать?

Так вышло что за долгие годы в линуксе я не пользовался подобными инструментами, и ничего о них не знаю. Но недавно по работе понадобилась автоматизация различных задач, да и захотелось тем же самым заняться дома. Подумал что если что-то делаю изо дня в день, то наверно неплохо бы автоматизировать это и сэкономить время на более важных делах. Часть задач требует запуска графических программ, а часть может выполняться в консоли, и как это все сделать пока непонятно.

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

Читайте также:  Как сменить подпись windows

1) Начал конечно с GUI. В КДЕ есть встроенный автозапуск приложений. «Параметры системы» > «Запуск и завершение» > «Автозапуск». Там можно добавить приложение и сценарий. Но как это работает для меня непонятно. Допустим указал путь до нужного графического приложения. А что за сценарий? На каком он языке, как его писать? Он сможет управлять задачами тех же КДЕ-приложений, чтобы они выполняли нужный набор действий после запуска? Где можно найти официальную инструкцию к этой опции в КДЕ?

2) Потом нашел вот такое, называется KTimer. Это тоже программа для КДЕ, только как мне показалось она еще более слабая, чем встроенное средство. Вроде как просто запускалка программ, даже без сценариев. А что толку просто запускать программы, чтобы они просто висели? Если кто-то пользовался, подскажите для чего оно?

3) Потом я нашел cron. Мощный консольный планировщик задач, и говорят не очень сложный в использовании. Уже было начал разбираться, как вдруг прочел, что cron давно deprecated, тем более в системах на systemd. А значит в ubuntu его смысла использовать нет, и тратить время на его освоение тоже, тем более что systemd уже установлен и все это в нем есть. Так ли это, что нет смысла тратить на него время?

4) Начал гуглить про systemd.timers, чем он отличается от cron, и нагуглил вот такое.

Here are some points about those two:

1. checking what your cron job really does can be kind of a mess, but all systemd timer events are carefully logged in systemd journal like the other systemd units based on the event that makes things much easier.

2. systemd timers are systemd services with all their capabilities for resource management, IO CPU scheduling, . There is a list :

  • systemcall filters
  • user/group ids
  • membershipcontrols
  • nice value
  • OOM score
  • IO scheduling class and priority
  • CPU scheduling policy CPU
  • affinity umask
  • timer slacks
  • secure bits
  • network access and .

3. with the dependencies option just like other systemd services there can be dependencies on activation time.

4. Units can be activated in different ways, also combination of them can be configured. services can be started and triggered by different events like user, boot, hardware state changes or for example 5mins after some hardware plugged and .

5. much easier configuration some files and straight forward tags to do variety of customizations based on your needs with systemd timers.

6. Easily enable/disable the whole thing with:

and kill all the job’s children with:

7. systemd timers can be scheduled with calenders and monotonic times, which can be really useful in case of different timezones and .

8. systemd time events (calendar) are more accurate than cron (seems 1s precision)

9. systemd time events are more meaningful, for those recurring ones or even those that should occur once, here is an example from the document:

10. From the CPU usage view point systemd timer wakes the CPU on the elapsed time but cron does that more often.

11. Timer events can be scheduled based on finish times of executions some delays can be set between executions.

12. The communication with other programs is also notable sometimes it’s needed for some other programs to know timers and the state of their tasks.

Вобщем, сложилось впечатление, что плюсов у systemd.timers куда больше, чем минусов. Так ли это?

И везде советуют в принципе systemd.timers.

Подскажите, что лучше использовать, а так же по первым 2м пунктам (планировщики с графической оболочкой). И есть ли еще какие-то варианты, может еще какие планировщики?

Перемещено tailgunner из linux-general

Источник

Оцените статью