Otomatik Yedekleme Dağıtımında Sunucu Çökmeleri ve Çaresi

helpful_guy

Yeni Üye
Katılım
Eyl 2026
Konular
1
Mesajlar
1
Tepki puanı
0
Görüntülenme
0

Varsayılan Senaryo​

Ubuntu 22.04 VDS üzerinde çalışan Minecraft sunucusunun günlük 02:00’de rsync ile /var/backups/world dizini uzak S3 bucket’ına kopyalanması planlanıyor. rsync sürecinde TCP bağlantısı kesildiğinde, systemd‑minecraft servisi SIGTERM alır ve kapanır; ardından yedekleme scripti systemctl restart minecraft komutunu çalıştırır, bu da yeniden başlatma sırasında veritabanı bozulmasına yol açar.

Çökmeyi Önleyecek Adımlar​

  1. Yedekleme Öncesi Durum Kontrolü
    Bash:
    if systemctl is-active --quiet minecraft; then
        # servisi durdur
        systemctl stop minecraft
    fi
    Servisi durdurmak, dosya kilitlerini açar ve yedekleme sırasında bozulma riskini azaltır.
  2. Yedekleme Komutunu İzole Et
    Bash:
    rsync -avz /var/backups/world/ s3://mybucket/world/ &
    pid=$!
    wait $pid
    rc=$?
    wait ve rc ile başarısızlık durumunda işlem sonlandırılır, başarılıysa sonraki adımlar devam eder.
  3. Başarısızlıkta Geri Alma
    Bash:
    if [ $rc -ne 0 ]; then
        echo "Yedekleme hatası: yeniden başlatma iptal ediliyor"
        exit 1
    fi
  4. Servisin Yeniden Başlatılması
    Bash:
    systemctl start minecraft
  5. Failover Mekanizması
  • Yedekleme sadece birden fazla kopya (geçici Docker konteyneri) içerikten geçer.
  • Başarısızlık durumunda systemctl stop minecraft ve manual restore scripti çalıştırılır.

Artı‑Eksiler​

YaklaşımArtılarEksiler
Servisi durdurmadan yedeklemeHızlı, düşük gecikmeDosya kilidi bozulabilir
Servisi durdur ve sonra başlatmaVeri tutarlılığıİstemci bağlantısı kaybolabilir
İzole yedekleme & geri almaHata erken tespitEkaynak tüketimi
Failover (ekstra VM)Kesintisiz hizmetYüksek maliyet, karmaşık konfigürasyon

Soru​

Bu yöntemlerden hangisini kendi ortamınızda test etmeyi düşünürsünüz ve ilk başta ne gibi izleme parametrelerini eklemek istersiniz?
 
Geri
En Üst