Systemd не перезапускає сервіс, хоча Restart = завжди


10

Ось мій файл одиниці системної служби:

[Unit]
Description=Tunnel For %i
After=network.target

[Service]
User=autossh
ExecStart=/usr/bin/autossh -M 0 -N -o "ExitOnForwardFailure yes" -o "ConnectTimeout=1" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 40443:installserver:40443 -R 8080:installserver:8080 tunnel@%i
Restart=always

[Install]
WantedBy=multi-user.target

Помилка пристрою 15 днів тому, і systemd не перезапустив його, хоча "Перезапустити = завжди" знаходиться вище файлу одиниці.

Ось вихід статусу цієї послуги:

salt:/srv # systemctl status autossh@eins-work
autossh@eins-work.service - Tunnel For eins-work
      Loaded: loaded (/etc/systemd/system/autossh@.service; enabled)
      Active: failed (Result: start-limit) since Wed, 2016-02-10 14:33:34 CET; 2 weeks and 1 days ago
    Main PID: 17980 (code=exited, status=0/SUCCESS)
      CGroup: name=systemd:/system/autossh@.service/eins-work

Feb 10 14:33:34 salt systemd[1]: Stopping Tunnel For eins-work...
Feb 10 14:33:34 salt systemd[1]: Starting Tunnel For eins-work...
Feb 10 14:33:34 salt systemd[1]: Failed to start Tunnel For eins-work.
Feb 10 14:33:34 salt systemd[1]: Unit autossh@eins-work.service entered failed state

Пов’язано: https://serverfault.com/a/563401/90324

Як налаштувати системну службу, щоб завжди перезавантажуватися, якщо щось не вдалося?


Чи можете ви вручну запустити її після відмови?
Thang Pham

Відповіді:


4

Сервіс не вдалося запустити занадто багато разів поспіль, і тому systemd відмовився від спроб. Це те, що Result: start-limitозначає.

Зауважте, що одиниці, налаштовані на Restart=та які досягають ліміту початку, більше не намагаються перезапустити; однак вони можуть все-таки перезапуститися вручну в більш пізній момент, після чого логіка перезапуску знову активується. Зверніть увагу, що systemctl reset-failedпризведе до того, що лічильник швидкості перезапуску служби буде змитий, що корисно, якщо адміністратор хоче вручну запустити одиницю, а обмеження запуску заважає цьому.

Ви повинні вирішити проблему, через яку служба не запускається.

Якщо вам потрібно налаштувати , скільки разів і як швидко Systemd спроби перезапустити службу несправного см на StartLimitInterval=, StartLimitBurst=і StartLimitAction=варіанти .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.