Като потребител на Linux вие вероятно сте запознати с cron. Той е работил като ход-на Unix часов часовник за работа в продължение на много години. Сега много потребители виждат, че системните таймери започват да заместват господството на Крон.

Тази статия ще обсъди основите как да настроите свой собствен таймер и да се уверите, че той работи правилно на вашата система.

Свързани : 4 Полезни алтернативи на Cron за Linux

Инсталация?

Ако вече използвате Systemd като система init - много популярни Linux дистрибуции работят по подразбиране, включително Arch, Debian, Fedora, Red Hat и Ubuntu - ще видите таймери, които вече се използват. Не е останало нищо друго, освен да използвате вече инсталираната функция.

Списък на съществуващите таймери

Най-лесният начин да проверите дали има таймер на компютъра ви е с командата:

 системни таймери за списъци 

Не е нужно да го изпълнявате като корен.

 системни списъци-таймери - всички 

Опцията " --all " тук също показва неактивни таймери. В момента няма неактивни таймери в тази система.

Трябва да намерите изход, подобен на следното изображение:

Можете да видите датата и часа, които всеки таймер ще активира, броенето до момента, колко време е изтекло от последното време, името на таймера и услугата, която всеки таймер се активира.

Всички таймери трябва да бъдат сдвоени със съответната услуга. В следващия раздел ще видите как да създадете файл ".timer", който активира файла ".service".

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

Можете да създадете нов таймер, като поставите персонализиран .timer файл в "/ etc / systemd / system /". При създаването на нов таймер за моя DuckDNS динамичен DNS файл, аз завърших с този текст:

 [Unit] Описание = Актуализиране на дублиращите динамични DNS [Таймер] OnCalendar = * - * - * 11:43:00 Продължителност = true [Install] WantedBy = timers.target 

1. Секция "Единица"

Опцията "Описание = ..." във файла ви показва името / описанието на самия таймер. В този случай моята "duckdns.timer" ще актуализира моя DNS, като каже на файла "duckdns.service" да изпълни серия от команди.

Можете да промените текста след "Описание =", за да кажете каквото ви харесва.

2. Част [Таймер]

"OnCalendar = ..." тук показва един начин да се каже на таймера, кога да се активира. *-*-* означава "Година-Месец-Ден", а звездичките означават, че ще тече всеки ден от всеки месец от всяка година оттук нататък. Времето, следващо звездичките, показва кое време на деня трябва да се изпълни.

"Perstant = true" означава, че таймерът ще се стартира автоматично, ако пропусне предишното време за стартиране. Това може да се случи, защото компютърът беше изключен преди събитието да се случи. Това е по избор, но се препоръчва.

3. Раздел [Инсталиране]

Накрая, "WantedBy = timers.target" показва, че Systemd timers.target ще използва този .timer файл. Този ред във файла показва веригата на зависимостта от един файл в друг. Не трябва да пропускате или променяте този ред.

Други възможности

Можете да намерите много други функции, като сканирате страницата на Man's Systemd с man systemd.timer . Придвижете се до секцията "OPTIONS", за да откриете опции за точност, постоянство и работа след стартиране.

Пускане на таймера

Активирайте всеки таймер, който сте създали, с помощта на systemctl enable и systemctl start syntax.

 sudo система позволява на 

Погледнете отново в systemctl list-timers за systemctl list-timers да видите таймера в действие.

Можете да видите дали таймерът ви е изпълнен според очакванията, като systemctl status съответния сервизен файл със systemctl status . В този случай можете да видите, че таймерът ми е в 11:43:00, както се предполагаше.

заключение

Въпреки че много програми на трети страни, включително DuckDNS, идват със скриптове, които им позволяват да се актуализират според нуждите, създаването на таймери в Systemd е полезно умение да знаете. Създаването на таймер за DuckDNS тук не беше необходимо, но показва как биха могли да функционират други видове системни таймери.

Това знание ще бъде от полза, например, за създаването и управлението на вашите собствени скриптове Bash. Можете дори да го използвате, за да промените съществуващия таймер, за да отговаряте по-добре на вашите предпочитания. Освен това винаги е добре да знаете как работи компютърът ви и тъй като Systemd контролира много основни функции, това парче от пъзела може да ви помогне да разберете по-добре начина, по който събитията се задействат всеки ден.

Благодарим ви, че продължихте. Успех при създаването на свои собствени таймери.