Kısaca: Sanal ve bulut sunucular, aksi belirtilmedikçe yönetimsizdir: Sunucunuzdaki verilerin yedeklenmesi sizin sorumluluğunuzdadır, Matrax ise sanallaştırma altyapısından ve ağdan sorumludur. Yedeği otomatik alın, sunucunun dışında saklayın ve geri yüklemeyi düzenli olarak sınayın.
Sözleşmemize göre yönetimsiz bir sunucuda sunucunun içinden siz, altındaki altyapıdan Matrax sorumludur:
| Alan | Sorumlu |
|---|---|
| Sanallaştırma altyapısı (sanal sunucuların çalıştığı donanım ve platform) | Matrax |
| Ağ ve internet bağlantısı | Matrax |
| İşletim sistemi ve güvenlik güncellemeleri | Siz |
| Güvenlik duvarı ve kurulu yazılımlar (web sunucusu, veritabanı, kontrol paneli) | Siz |
| Sunucudaki verilerin yedeklenmesi ve geri yüklenmesi | Siz |
Bunun pratik anlamı şu: Yanlışlıkla silinen bir klasör, bozulan bir güncelleme, fidye yazılımı ya da ele geçirilen bir sunucu durumunda verilerinizi geri getirecek olan, sizin aldığınız yedektir. Hizmetinizde aksi belirtilmişse (örneğin yönetim hizmeti aldıysanız) kapsam o hizmetin tanımındaki gibidir.
Bilgi: Matrax'ın altyapıyı felakete karşı korumak için aldığı yedekler, sanallaştırma altyapısının çalışmasını korumaya yöneliktir; sunucunuzun içindeki verilerin geri yüklenmesi taahhüdü değildir ve sizin yedeğinizin yerine geçmez. Ayrı bir yedekleme hizmeti satın almadıysanız, sunucunuzdaki verileri geri getirebilecek tek kaynak kendi yedeğinizdir.
/var/lib/mysql klasörünü kopyalamak çoğu zaman açılamayan bir yedek üretir./var/www) ve kullanıcıların yüklediği dosyalar./etc klasörü (web sunucusu, PHP ve SSH ayarları), SSL sertifikaları (/etc/letsencrypt), zamanlanmış görevler (crontab -l çıktısı).Yaygın kabul gören kural: Verinin 3 kopyası, 2 farklı ortamda, en az 1 tanesi başka bir konumda. Aynı sunucunun diskinde duran yedek yanlış silmeye karşı işe yarar; ama disk arızasında, sunucu ele geçirildiğinde ya da hizmet sona erdiğinde verilerle birlikte o da gider. Anlık görüntü (snapshot) kullanıyorsanız onu güncelleme öncesi kısa süreli bir geri dönüş noktası olarak görün; aynı altyapıda durduğu için sunucu dışı yedeğin yerine geçmez.
Yedekler rsync ile SSH üzerinden başka bir sunucuya aktarılır. Türkiye ve Almanya lokasyonlarından ana sunucunuzunkinden farklı olanı seçmek coğrafi ayrım da sağlar.
restic veya rclone gibi araçlarla şifreli ve sürümlü yedek gönderilir; belirli bir güne geri dönmek kolaydır.
Ofisteki bir NAS veya bilgisayar, yedekleri sunucudan düzenli olarak çeker. Küçük veri hacimleri için pratiktir.
Mümkünse yedekleri hedefin çektiği bir düzen kurun. Yedeği gönderen sunucu ele geçirilirse, yazma yetkisini ele geçiren saldırgan uzaktaki yedekleri de silebilir; çeken düzende üretim sunucusunun yedek alanına erişimi olmaz.
Aşağıdaki betik tüm veritabanlarının dökümünü, web dosyalarının ve yapılandırmanın arşivini alır, yedekleri uzak sunucuya aktarır ve yerelde yedi günden eski kopyaları siler. Root olarak /root/yedekle.sh adıyla kaydedip chmod 700 /root/yedekle.sh ile yalnız root'un erişebileceği hâle getirin.
#!/bin/bash
set -euo pipefail
GUN=$(date +%F)
KLASOR=/root/yedek/$GUN
mkdir -p "$KLASOR"
mysqldump --all-databases --single-transaction --routines --events | gzip > "$KLASOR/veritabani.sql.gz"
# tar'ın 1 çıkış kodu "dosya okunurken değişti" uyarısıdır; yedeği durdurmaz
tar -czf "$KLASOR/dosyalar.tar.gz" /var/www /etc || [ $? -eq 1 ]
rsync -a /root/yedek/ [email protected]:/yedekler/sunucu1/
find /root/yedek -mindepth 1 -maxdepth 1 -type d -mtime +7 -exec rm -rf {} +
/root/.my.cnf dosyasına yazın. MariaDB'nin yeni sürümlerinde aynı araç mariadb-dump adıyla da bulunur.yedek kullanıcısı açıp SSH anahtarınızı ona tanımlayın; betik böylece parola sormadan çalışır.rsync --delete kullanmaz: Yerelde silinen bir kopya uzakta da silinmesin. Uzak taraftaki eski yedekleri orada ayrı bir zamanlanmış görevle temizleyin.Betiği her gece 03.30'da çalıştırmak için crontab -e ile şu satırı ekleyin:
30 3 * * * /root/yedekle.sh >> /var/log/yedekle.log 2>&1
Sunucuya cPanel/WHM kurduysanız WHM'deki Yedekleme Yapılandırması (Backup Configuration) ekranından otomatik yedeği açıp Ek Hedefler (Additional Destinations) bölümünde SFTP veya S3 uyumlu bir uzak hedef tanımlayabilirsiniz. Windows sunucularda Sunucu Yöneticisi üzerinden Windows Server Backup özelliğini ekleyip yedekleri bir ağ paylaşımına alabilirsiniz.
Hiç denenmemiş bir yedek, ihtiyaç anında açılmayabilir. Düzenli aralıklarla (örneğin ayda bir) bir yedeği test amaçlı bir sunucuya ya da yerel bir sanal makineye geri yükleyin. Hızlı bir bütünlük denetimi için:
gzip -t veritabani.sql.gz && echo "döküm sağlam"
tar -tzf dosyalar.tar.gz > /dev/null && echo "arşiv sağlam"
# Veritabanını geri yükleme (test sunucusunda)
gunzip < veritabani.sql.gz | mysql
Dikkat: Ödenmeyen bir hizmet askıya alındığında veriler hemen silinmez; askı tarihinden itibaren en az 15 gün korunur, sonrasında hizmet sonlandırılıp veriler kalıcı olarak silinebilir. Kalıcı silmeden önce kayıtlı e-posta adresinize bildirim gönderilir, ancak silinen verinin geri getirilmesi taahhüt edilmez. Sunucu dışındaki yedeğiniz bu durumda da elinizde kalır.
Destek ekibimiz yardımcı olsun; taleplere en geç 24 saat içinde ilk yanıt veriyoruz.
Destek talebi oluşturun