Konuyu Açan #1
rsync ile Artımlı Yedekleme

Giriş ve temel fikir
Sunucuların güvenilir yedeklemesini sağlamak için rsync, ağ üzerinden değişen blokları veya dosyaları sadece kopyalayarak ilerler. Artımlı yedeklemelerde her bir geri dönülür sürüm, önceki sürümlerle birleşerek bir arşiv zinciri oluşturur. Temel mantık şöyledir: bir kez tam yedeği alırsınız, ardından gelen güncellemeleri sadece değişen dosyalar üzerinden uygularsınız. Böylece ağ trafiği ve disk kullanımı minimal kalır.

Yapılandırmanın ana hatları
  • İlk tam yedek için güvenli bir hedef belirleyin: yerel disk, harici BB veya uzak sunucu.
  • rsync komutunun temel formu: rsync -aAXv --delete --link-dest=[BUKUP_BU_PATH]/previous --exclude={"/dev","/proc","/sys","/tmp","/run","/mnt","/media","/lost+found"} [kaynak]/ [hedef]/. Bu, sık kullanılan seçeneklerin kısa bir özetidir:
    • -a aynalama modu (archive), -A ACL’leri, -X XAttributes’i korur; -v çıktı verir; --delete hedefte kaynakla eşit olmayan dosyaları temizler; --link-dest önceki bir yedek ile hard linkleri kullanır, dönüşleri hızlı ve depolamayı verimli kılar.
  • Uzak yedek için SSH güvenli taşıma kullanın: rsync -avz -e "ssh -p 22" [kaynak] [kullanıcı]@[sunucu]:[hedef]/.
  • --link-dest ile sürümlü arşivler için her gece yeni bir klasör açıp önceki sürümlerin hard linklerini kullanabilirsiniz. Örneğin /backups/yedek-2026-10-28 ve /backups/yedek-2026-10-29 arasındaki fark sadece değişen dosyaları içerir; önceki sürümden linkler referans alınır.


Pratikte iyi uygulamalar ve adımlar
  • Hedef isimlendirme stratejisi: her yedek için tarih ve saat içeren bir dizin yapısı kullanın. Örneğin /backups/server1/2026-10-28-02 bakması güvenli ve geri dönüşleri kolaylaştırır.
  • Dizin izinlerini ve güvenliği kontrol edin: rsync çalıştıran kullanıcıya sadece gerekli izinler verilmeli, SSH anahtarları güvenli şekilde yönetilmelidir.
  • Dışa bağımlı ağlarda bant genişliği yönetimi için --bwlimit kullanımı ve sıkıştırma ( -z ) durumunu işleyin.
  • Test amacıyla periyodik olarak bütünlük kontrolü yapın: rsync --dry-run ile simülasyonlar, sonra gerçek yedekleme.


Tipik bir otomasyon akışı (örenk):
KOD
12345678910111213#!/bin/bash
kaynak="/var/www/html"
hedef="/backups/server1"
log="/var/log/rsync-backup.log"

date +"%F %T: Başlangıç" >> "$log"
rsync -aAXv --delete --link-dest="$hedef.previous" -e "ssh -p 22" "$kaynak" "kullanici@uzakrasplica:$hedef/$(date +%F-%H-%M)" >> "$log" 2>&1
if [ $? -eq 0 ]; then
  mv "$hedef"/* "$hedef.previous" 2>/dev/null
else
  echo "Hata during rsync" >> "$log"
fi
date +"%F %T: Bitiş" >> "$log"


Hangi durumlar için uygun?
  • Küçükten büyüğe değişimler içeren sunucular için uygundur; dosya çoğaltma maliyetini düşürür.
  • Sık sık değişmeyen büyük arşivler için saklama stratejisiyle entegre edildiğinde veri güvenilirliği arttırılır.
  • Şeffaf sürüm yönetimi ve hızlı geri dönüşler için hard link tabanlı artımlı yapı avantaj sağlar.


Not: Bu teknik, verilerin yedeğini güvenli şekilde yönetmek için yaygın ve güvenilir bir yöntemdir; ancak kurum içi politika ve gerektiğinde uyum denetimleriyle uyumlu olarak uygulanmalıdır. Özetle, rsync ile artımlı yedekleme, düzenli planlama, güvenlik adımları ve testlerle sağlam bir veri koruma stratejisi sunar.

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

Bu konuyu görüntüleyen kullanıcılar (Toplam: 2, Üyeler: 2, Misafirler: 0)
Toplam: 2 (üyeler: 2, misafirler: 0)
0 alıntı seçildi