Я хотел бы настроить службу systemd так, чтобы она сначала быстро перезапускалась, но через некоторое время замедлялась. Причина в том, что служба может временно выйти из строя и быстро восстановиться для максимальной доступности. Но если проблема не исчезнет дольше, это создаст много записей в журнале. В этом случае интервал перезапуска должен быть больше, чтобы не вызывать такой нагрузки, но все равно возвращаться, если проблема будет решена в какое-то время.
Это мой текущий служебный файл:
[Ед. изм]
Стартлимитинтервалсек=120
StartLimitBurst=4
[Оказание услуг]
ExecStart=/root/test.sh
Перезапустить = всегда
Рестартсек=10
Тестовый сценарий зацикливается, пока существует /root/test.run, а затем завершается с кодом ошибки. Я могу вызвать сбой службы, удалив этот файл.
Вот что я наблюдал:
- Запуск службы без файла запуска сразу дает сбой. Затем он повторяет попытку 4 раза, а затем терпит неудачу навсегда. Он никогда не будет пытаться начать снова.
- Запустив службу с файлом запуска, она сначала запускается. После удаления файла происходит сбой службы. Затем он перезапускается, как указано выше: 4 раза и больше никогда.
Это явно не ограничение скорости, это просто ограничение.
Что мне нужно изменить, чтобы получить ограничение скорости? После того, как 4 перезапуска в течение 120 секунд не увенчались успехом, служба все равно должна попытаться запуститься с более низкой скоростью.
Работает на последней версии ОС Raspberry Pi, но это должно относиться к любой ОС Linux с systemd.