У меня есть несколько собственных автоматизированных скриптов, которые периодически запускаются. Один каждые пять минут, другой каждую минуту. Их действительно не нужно запускать на месте; например Меня не волнует, будут ли они работать в 12:00, 12:05 и т. Д. Или в 12:03, 12:08 и т. Д., Мне просто нужен постоянный интервал.
В настоящее время я использую crontab для запуска этих сценариев с заданными интервалами. Однако на той же машине у меня также есть собственные файлы служебных модулей systemd. Мне было любопытно, лучше ли переместить мои скрипты в файлы служебных модулей и таймеров systemd или просто использовать файлы служебных модулей systemd с директивами Restart и RestartSec.
Дайте мне знать, если мне нужно что-то перефразировать или я не понимаю.
В частности, определение systemd.service единицы переводит Restart=always
и RestartSec=300
будет синонимом «всегда запускать каждые пять минут, игнорируя код выхода предыдущего запуска». Однако есть также systemd.timer unit которые можно настроить на то же самое, но, вероятно, с конкретными кодами выхода, такими как только успешный выход.
Я ищу плюсы и минусы обоих.
Спасибо!
Я рекомендую использовать диспетчер процессов для выполнения своей работы. К счастью, у вас есть лучший менеджер по процессам, systemd
. На мой взгляд, это вопрос семантики, даже если оба решения работают в вашем случае.
RestartSec
больше 1.