systemd Servisleri için Otomatik Recovery Scripti Oluşturma ve Entegrasyonu

0 Yanıtlar 0 Görüntülenme
·
Katılımcılar
Konuyu Açan #0
Kuruluş aşamasında, birçok sistem yöneticisi sistemd servislerinin otomatik olarak kendini onarmasını sağlamak ister. Bu, özellikle kritik uygulamalar ve hizmet sürekliliği açısından önemli. Servisin herhangi bir nedenle çöktüğü veya hataya düştüğü durumlarda, manuel müdahale olmadan otomatik çözüm sağlayacak mekanizmanın kurulması sistemi daha güvenli hale getirir.

İşte temel adımlar ve örnek uygulama:

  1. systemd Servis Dosyasını Güncelleme:

Servisinizin [Service] bölümüne Restart ve RestartSec gibi parametreler eklenebilir. Bu, servis çöktüğünde otomatik yeniden başlatmayı sağlar.
Örnek:
KOD
1234[Service]
ExecStart=/usr/bin/your-service
Restart=on-failure
RestartSec=5

Bu yapı, servis başarısız olursa 5 saniye içinde yeniden başlatır.

  1. Özel Otomasyon Scripti Yazımı:

Bazı durumlarda, sadece yeniden başlatmak yeterli değil. Çeşitli hata kodlarına veya durumlara göre farklı tepkiler vermek gerekebilir. Bu durumda, özelleştirilmiş bir script yazabilirsiniz.
Örnek script: recovery.sh
KOD
12345678910#!/bin/bash

SERVICE_STATUS=$(systemctl is-failed your-service)

if [ "$SERVICE_STATUS" = "failed" ]; then
    # Günlük kaydı
    echo "$(date): Service failed, attempting restart." >> /var/log/recovery.log
    systemctl restart your-service
    # Ekstra kontroller veya bildirimler eklenebilir
fi

Bu script, belirli aralıklarla çalıştırılarak servisin durumu denetlenir.

  1. Timer veya Cron ile Otomatik Çalıştırma:

Scriptin otomatik olarak çalışması için systemd timer kullanmak veya cron kullanmak uygun olur.
Örneğin, systemd timer ile:
KOD
123456789[Unit]
Description=Service Recovery Check

[Timer]
OnBootSec=10min
OnUnitActiveSec=10min

[Install]
WantedBy=timers.target

Ve karşılık gelen servis:
KOD
123456[Unit]
Description=Run Recovery Script

[Service]
Type=simple
ExecStart=/path/to/recovery.sh


  1. Güvenlik ve İzleme:

Hizmetlerin otomatik onarımı önemli, fakat bu süreçte loglar ve uyarılar kritiktir. Scriptte hata durumlarını, yeniden denemeleri ve bildirimleri detaylandırmak, sistemin sağlığını takip etmek açısından faydalı olur.




İşte bu yapıyla, hem sistemd'nin yerleşik yeniden başlatma özellikleri hem de özelleştirilmiş scriptlerle, hizmetlerinizin sürekliliğini güvence altına alabilirsiniz. Sizlerin de benzer ihtiyaçlar veya karşılaştığınız sorunlar olursa, deneyimlerinizi paylaşmanız, diğer üyeleri de teşvik edecektir. Hangi otomasyon yöntemlerini tercih ediyorsunuz veya sorun yaşadığınız noktalar var mı?

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi