أمس في 05:42
المشاركة الأولى
Sunucu Otomatik Yedekleme Nasıl Yapılır?
İşletim sistemi ve kullanım amacına göre yedekleme stratejileri değişse de, güvenilir bir otomatik yedekleme kurulumunun temel adımları çoğu ortamda benzer şekilde işler. Aşağıda, genel bir yaklaşımı adım adım, somut örnekler ve düşündürücü noktalarla ele alıyorum.
1. Hedef ve sıklık belirleme
- Hangi verileri yedekleyeceğinizi netleştirin: veritabanı dumpları, uygulama dosyaları, kullanıcı verileri, konfigürasyonlar.
- Yedekleme sıklığını belirleyin: kritik veriler için sık (dakikalar/ saatler), diğerleri için günlük veya haftalık.
- Yedeklerin saklanacağı yerleri belirleyin: yerel disk, NAS/SAN, uzak veri merkezi veya bulut depolama (ör. S3 benzeri objeler).
2. Yedekleme tipi ve formatı
- Tam yedekleme, artırımlı/ fark yedeklemelerinin karışımı tipik olarak kullanılır. Artırımlı yedeklemeler saklama alanını azaltır ama geri yükleme süresini uzatabilir.
- Dosya seviyesinde yedekleme ile veritabanı düzeyinde yedekleme (ör. mysqldump, pg_dump) arasında dengeli bir plan oluşturun.
- Komutlar ve dosya formatları için uyumluluk: sık kullanılan formatlar ve sıkıştırma (gzip, zstd) tarama ve aktarımı kolaylaştırır.
3. Otomasyon aracı seçimi
- Basit senaryolar için cron tablosu ile zamanlanmış scriptler yeterli olabilir.
- Daha güvenli ve merkezi bir çözüm için backup yazılımları (ör. Bacula, Duplicity, Restic) veya bulut entegrasyonları (rclone ile S3, Azure Blob, Google Cloud Storage) tercih edilir.
- Rotasyon politikaları: belirli tarih veya sürüm sayısına göre yer açmayı garanti eden günlük/haftalık aylık rotasyonlar kurun.
4. Komut örnekleri (basit, genel senaryo)
- Dosya tabanlı yedekleme (sıkıştırmalı):
12345
[b]Basit günlük yedekleme[/b]
tar czf /backup/dizin/yedek-$(date +%F).tar.gz /var/www/html /etc/nginx
[b]Rotasyon: 7 gün sakla[/b]
find /backup/dizin -type f -name "yedek-*.tar.gz" -mtime +7 -delete
- Veritabanı yedeği (MySQL için):
123
mysqldump --all-databases --single-transaction --quick --lock-tables=false | gzip > /backup/dizin/db-dump-$(date +%F).sql.gz
find /backup/dizin -type f -name "db-dump-*.sql.gz" -mtime +7 -delete
5. Güvenlik ve güvenilirlik
- Yedekleri şifrelemek ve güvenli aktarım kanalları kullanmak (ör. TLS üzerinden uzak hedefler).
- Doğrulama adımı: yedek dosyalarının bütünlüğünü kontrol etmek için imza veya checksum kullanın.
- Yedeklerin sürekliliğini test edin: periyodik geri yükleme testleri ile kurtarma sürelerini ve bütünlüğü doğrulayın.
- Erişim kontrolleri ve loglama: kimlerin ne zaman yedeklediğini veya geri yüklediğini izleyin.
6. İzleme ve uyarılar
- Otomatik hatalarda bildirim mekanizması kurun: e-posta, Slack/Teams entegrasyonu, sistem günlüğü.
- Doğruluk kontrolünü sağlamak için günlük özet raporlar ve disk kullanım uyarıları ekleyin.
Her ortamın ihtiyaçları farklıdır; ölçek, performans ve güvenlik dengesi önemli. Siz hangi verileri nasıl yedekliyorsunuz, erişim ve geri yükleme süreleriniz nedir, hangi araçları kullanıyorsunuz? Tecrübenizi ve karşılaştığınız zorlukları paylaşır mısınız, uygun senaryoları birlikte tartışalım.