Как пользователь Linux вы, вероятно, знаете cron. Он много лет служит планировщиком задач на основе времени. Теперь многие пользователи видят, что таймеры Systemd начинают заменять доминирующее положение cron.
В этой статье мы обсудим основы того, как настроить собственный таймер и убедиться, что он правильно работает в вашей системе.
установка?
Если вы уже используете Systemd в качестве init - многие популярные дистрибутивы Linux запускают его по умолчанию, включая Arch, Debian, Fedora, Red Hat и Ubuntu - вы увидите, что таймеры уже используются. Больше ничего не остается делать, кроме как использовать эту уже установленную функцию.
Список меню таймеров
Самый простой способ проверить, существует ли таймер на вашем компьютере, - использовать команду:
systemctl list-timers
Эти карты запускать не обязательно.
systemctl list-timers --all
Опция –all здесь также показывает неактивные таймеры. В настоящее время в этой системе нет неактивных таймеров.
Вы должны найти результат, подобный следующему изображению:
Вы можете увидеть дату и время активации каждого таймера, обратный отсчет до этой точки, количество времени, прошедшее с момента его включения, название самого таймера и службу, которую активирует каждый таймер.
Все таймеры должны быть сопряжены с соответствующей службой. В следующем разделе вы увидите, как создать файл «.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, чтобы увидеть свой таймер в действии.
Вы можете узнать, работает ли ваш таймер должным образом, проверив его служебный файл с помощью статус systemctl. В этом случае вы можете видеть, что в моем случае он работает в 11:43:00, как и предполагалось.
Заключение
Хотя многие сторонние программы, в том числе Утиный DNS , поставляется со сценариями, которые позволяют им обновляться по мере необходимости, создавая таймеры в Systemd Это полезный навык. создавал таймер для Утиный DNS Здесь нет необходимости, но он показывает, как будут работать другие типы таймеров. Systemd.
Эти знания пригодятся, например, для создания и запуска скриптов. Колотить твой собственный. Вы даже можете использовать его, чтобы изменить текущий таймер в соответствии с вашими предпочтениями. Кроме того, всегда полезно знать, как работает ваш компьютер, и поскольку Systemd Этот кусок головоломки, управляющий многими основными функциями, может помочь вам лучше понять, как события развиваются каждый день.
Спасибо, что читали статью. Удачи в создании собственных таймеров.