Cron у systemd timer
Перетворіть cron-вираз на готову пару systemd .timer та .service.
Cron у systemd timer
Вставте вираз cron — такий, який ви розмістили б у crontab, наприклад `0 3 * * *` або `*/15 9-17 * * 1-5` — і цей інструмент перетворить його на значення systemd `OnCalendar=`, а потім зберуть навколо нього повний модуль `.timer` та відповідний йому модуль `.service`. Міграція сервера з cron на systemd зазвичай означає виконання цього перекладу вручну для кожного завдання; це робиться миттєво та правильно, включаючи розширення полів для кроків та діапазонів.
Встановіть назву модуля та команду для запуску, а за потребою — користувача та робочу директорію, які повинні використовуватися сервісом. Випадкова затримка додає `RandomizedDelaySec=`, щоб парк серверів не прокидався одночасно; Persistent додає `Persistent=true`, тому запуск, пропущений, коли машина була вимкнена, спрацьовує негайно після включення. Часовий пояс додає до кожного рядка розкладу назву зони IANA замість того, щоб покладатися на локальний час системи. Вставте кілька рядків cron одночасно, щоб створити один таймер з кількома записами `OnCalendar=` — зручно для завдання, яке раніше мало більше одного рядка у crontab.
Включіть опис простою мовою, щоб отримати однорядковий коментар над кожним розкладом, який пояснює, коли він спрацьовує, вашою мовою. Інструмент також стежить за єдиною конструкцією cron, яку systemd дійсно не може відтворити: коли обидва поля день місяця та день тижня обмежені, cron розглядає їх як АБО, а systemd's OnCalendar завжди їх комбінує (І) — коли це відбувається, додається попереджувальний коментар, щоб невідповідність не відправилась мовчки. Поле поза діапазоном або вираз з неправильною кількістю полів повідомляється як проста помилка, а не вгадується.
Все працює у вашому браузері — вираз cron та файл модуля ніколи не залишають ваш пристрій. Скопіюйте результат, завантажте його як файл .txt, щоб розмістити в `/etc/systemd/system/`, або відправте його в інший інструмент, щоб продовжити роботу з ним.