CodeBlanks Logo Icon CodeBlanks

Disaster recovery

Felaket kurtarma akışını öğrenirsin.

Felaket kurtarma nedir?

Felaket kurtarma, veri kaybı veya sistem arızası sonrasında projeyi çalışır duruma getirmek için uygulanan planlı süreçtir. Git deposunun yedeği, uzak kopyalar ve geri yükleme adımları bu planın parçalarıdır.

Çalışan depo
   ↓
Yedek oluşturma
   ↓
Arıza durumunda geri yükleme

Yalnızca bir Git uzak deposuna güvenmek yeterli olmayabilir. Kritik projelerde bağımsız ve düzenli yedekler tutulmalıdır.

Git deposunu yedekleme ve geri yükleme

git clone --mirror, bir deponun dallarını ve etiketlerini de içeren çıplak bir ayna kopyası oluşturur. Bu kopya yedekleme amacıyla farklı bir konumda saklanabilir.

git clone --mirror https://example.com/project.git project-backup.git
git clone project-backup.git recovered-project

Geri yükleme öncesinde yedek kopyanın bütünlüğünü ve güncelliğini kontrol etmelisin. Geri yükleme sonrasında uzak adresleri ve erişim izinlerini de doğrula.

Uygulama Depoyu yedekten geri yükle

project-backup.git adlı ayna yedeğinden recovered-project adlı yeni bir çalışma deposu oluştur. Ardından yeni deponun dizinine geçerek dalları listele ve işlemin tamamlandığını yazdır.

Başlangıç kodu

terminal
# Ayna yedeğinden çalışma deposu oluştur
# Dalları listele ve tamamlanma mesajı yazdır

Örnek çözüm

terminal
git clone project-backup.git recovered-project
cd recovered-project
git branch -a
echo "Depo geri yükleme adımı tamamlandı."

Beklenen çıktı

Depo geri yükleme adımı tamamlandı.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir sunucu arızasında hem commit geçmişini hem de depo dosyalarını geri getirebilmek istiyorsun. Hangi yedekleme yaklaşımı daha uygundur?

  • Sadece çalışma dizinindeki geçici dosyaları kopyalamak
  • Yedek almadan uzak depoya güvenmek
  • Yalnızca son commit mesajını kaydetmek
  • Depoyu düzenli aralıklarla bağımsız bir konuma yedeklemek Doğru cevap

Açıklama: Bağımsız konumda tutulan düzenli depo yedekleri, sunucu arızası gibi durumlarda geri yükleme olanağı sağlar.

2 Ayna yedekleme komutunu tamamla

Soru
git clone ____ https://example.com/project.git project-backup.git
Cevap
git clone --mirror https://example.com/project.git project-backup.git

Açıklama: <code>--mirror</code> seçeneği, uzak deponun dallarını ve referanslarını ayna olarak kopyalar.

3 Felaket kurtarma bileşenleri

Kavram Anlamı
Disaster recovery Arıza sonrası sistemi geri getirme planı
Backup Verinin ayrı bir kopyasını oluşturma
Restore Yedekten veriyi geri yükleme
Integrity check Yedek verinin tutarlılığını doğrulama

Uzman bölümündeki tüm dersler