Как использовать таймеры Systemd в качестве альтернативы Cron

Как пользователь Linux вы, вероятно, знаете cron. Он много лет служит планировщиком задач на основе времени. Теперь многие пользователи видят, что таймеры Systemd начинают заменять доминирующее положение cron.

Как использовать таймеры Systemd в качестве альтернативы Cron - Linux

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

установка?

Если вы уже используете Systemd в качестве init - многие популярные дистрибутивы Linux запускают его по умолчанию, включая Arch, Debian, Fedora, Red Hat и Ubuntu - вы увидите, что таймеры уже используются. Больше ничего не остается делать, кроме как использовать эту уже установленную функцию.

Список меню таймеров

Самый простой способ проверить, существует ли таймер на вашем компьютере, - использовать команду:

systemctl list-timers

Эти карты запускать не обязательно.

systemctl list-timers --all

Опция –all здесь также показывает неактивные таймеры. В настоящее время в этой системе нет неактивных таймеров.

Вы должны найти результат, подобный следующему изображению:

Как использовать таймеры Systemd в качестве альтернативы Cron - Linux

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

Все таймеры должны быть сопряжены с соответствующей службой. В следующем разделе вы увидите, как создать файл «.timer», который активирует файл «.service».

Создать новый таймер

Вы можете создать новый таймер, поместив.таймер обычай в «/ Etc / systemd / system /.» При создании нового временного служебного файла DNS для Утиный DNS , Я получил этот текст:

[Unit]

Description=Update duckdns dynamic DNS

[Timer]

OnCalendar=*-*-* 11:43:00

Persistent=true

[Install]

WantedBy=timers.target

1. Раздел [Unit]

Параметр «Описание =…» в файле сообщает вам имя / описание самого таймера. В этом случае duckdns.timer обновит мой DNS, сообщая файлу duckdns.service выполнить ряд команд.

Вы можете изменить формулировку после «Description =», чтобы произносить все, что хотите.

2. Раздел [Таймер]

Показывает «OnCalendar =…» Вот один из способов указать таймеру, когда активировать. * - * - * обозначает «год-месяц-день», а звездочки означают, что с этого момента он будет запускаться каждый день каждого месяца каждого года. Время после звездочек показывает, в какое время дня должен работать таймер.

«Persistent = true» просто означает, что таймер будет запускаться автоматически, если он пропустит предыдущее время запуска. Это может произойти из-за того, что компьютер выключается до того, как произойдет событие. Это необязательно, но рекомендуется.

3. Раздел [Install]

Наконец, кажется "WantedBy = timers.target" что системные таймеры.цель Этот файл будет использоваться .таймер. Эта строка в файле отображает строку зависимости от одного файла к другому. Вы не должны удалять или изменять эту строку.

другие варианты

Вы можете найти много других функций, отсканировав страницу манд человек مع человек systemd.timer. Перейдите в раздел ПАРАМЕТРЫ, чтобы узнать о параметрах точности, настойчивости и пост-прогона.

Таймер воспроизведения

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

sudo systemctl enable duckdns.timer

sudo systemctl start duckdns.timer

Посмотрите еще раз на список таймеров списка systemctl, чтобы увидеть свой таймер в действии.

Как использовать таймеры Systemd в качестве альтернативы Cron - Linux

Вы можете узнать, работает ли ваш таймер должным образом, проверив его служебный файл с помощью статус systemctl. В этом случае вы можете видеть, что в моем случае он работает в 11:43:00, как и предполагалось.

Как использовать таймеры Systemd в качестве альтернативы Cron - Linux

Заключение

Хотя многие сторонние программы, в том числе Утиный DNS , поставляется со сценариями, которые позволяют им обновляться по мере необходимости, создавая таймеры в Systemd Это полезный навык. создавал таймер для Утиный DNS Здесь нет необходимости, но он показывает, как будут работать другие типы таймеров. Systemd.

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

Спасибо, что читали статью. Удачи в создании собственных таймеров.

Источник
Перейти к верхней кнопке