Systemd hizmeti yeniden başlatmaz, ancak Yeniden Başlat = her zaman


10

İşte bir systemd hizmetinin birim dosyası:

[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

Birim 15 gün önce başarısız oldu ve "Yeniden başlat = her zaman" birim dosyasında olmasına rağmen systemd cihazı yeniden başlatmadı.

İşte bu hizmetin durum çıktısı:

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

İlgili: https://serverfault.com/a/563401/90324

Bir şey başarısız olursa bir systemd hizmetini her zaman yeniden başlayacak şekilde nasıl yapılandırırım?


Hatadan sonra manuel olarak başlatabilir misiniz?
Thang Pham

Yanıtlar:


4

Hizmet arka arkaya çok fazla başlatılamadı ve bu yüzden systemd denemekten vazgeçti. Bunun Result: start-limitanlamı budur.

Yapılandırılan Restart=ve başlangıç ​​sınırına ulaşan birimlerin artık yeniden başlatılmaya çalışmadığını unutmayın; ancak, daha sonra manuel olarak yeniden başlatılabilir, bu noktadan sonra yeniden başlatma mantığı tekrar etkinleştirilir. systemctl reset-failedBir hizmetin yeniden başlatma hızı sayacının temizlenmesine neden olacağını unutmayın; bu, yönetici bir birimi manuel olarak başlatmak istiyorsa ve başlangıç ​​limiti buna müdahale ederse faydalıdır.

Hizmetin başlamamasına neden olan sorunu çözmelisiniz.

Hızlı bir başarısız hizmetini yeniden başlatmak için girişimleri systemd kaç kez ve nasıl ayarlamak gerekiyorsa, bkz , ve seçenekleri .StartLimitInterval=StartLimitBurst=StartLimitAction=

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.