У нас есть потребность в частом перезапуске службы в определенных особых сценариях.
Поэтому, когда он терпит неудачу с start-limit, предлагаемое решение состоит в том, чтобы вызвать «reset-failed».
Мы обнаружили, что даже после вызова reset-failed немедленный последующий запуск завершается ошибкой с start limit. Единственным обходным решением является введение паузы в 6 секунд (6 секунд сна) перед вызовом start, если предыдущая не удалась.
В целях тестирования я сделал избыточный вызов reset-failed перед каждым запуском. Тем не менее, это терпит неудачу с пределом запуска.
admin@vlab-03:~/tmp$ кошка t.py
#! /usr/бен/окружение python3
импорт ОС
импорт системы
def _service_restart (svc_name):
rc_stop = os.system(f"sudo systemctl stop {svc_name}")
rc_reset = os.system(f"sudo systemctl reset-failed {svc_name}")
rc_start = os.system(f"sudo systemctl start {svc_name}")
print(f"rc_stop={rc_stop} rc_reset={rc_reset} rc_start={rc_start}")
если rc_start != 0:
print("Выход...")
sys.exit(-1)
деф основной():
для я в диапазоне (10):
print(f"-------------------i = {i} ---------------")
_service_restart("rsyslog-config")
распечатать("сделано")
если __name__ == "__main__":
главный()
admin@vlab-03:~/tmp$
п/п:
admin@vlab-03:~/tmp$ ./t.py
------------------------------------------
rc_stop=0 rc_reset=0 rc_start=0
---------------------------------------------
rc_stop=0 rc_reset=0 rc_start=0
---------------------------------------------
rc_stop=0 rc_reset=0 rc_start=0
---------------------------------------------
rc_stop=0 rc_reset=0 rc_start=0
---------------------------------------------
rc_stop=0 rc_reset=0 rc_start=0
---------------------------------------------
Задание для rsyslog-config.service завершилось неудачно, так как процесс управления завершился с кодом ошибки.
Подробности смотрите в "статус systemctl rsyslog-config.service" и "journalctl -xe".
rc_stop=0 rc_reset=0 rc_start=256
Выход...
Любые советы будут очень полезны.
admin@vlab-03:~$ кошка /etc/os-релиз
PRETTY_NAME="Debian GNU/Linux 11 (яблочко)"
ИМЯ="Debian GNU/Linux"
VERSION_ID="11"
ВЕРСИЯ="11 (яблочко)"
VERSION_CODENAME=яблочко
ID=дебиан
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
admin@vlab-03:~$ uname -a
Linux vlab-03 5.10.0-8-2-amd64 #1 SMP Debian 5.10.46-4 (03.08.2021) x86_64 GNU/Linux