Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Hestiacp Otomatik Uzak Yedekleme Sunucun Ölse Bile Verin Durur

Katılım
10 Ağustos 2026
Mesajlar
46
Rating - 0%
0   0   0
Rozetler
Tasarımcı Tasarımcı
Geliştirici Geliştirici
Yönetici Yönetici
Sistem Yöneticisi Sistem Yöneticisi
Serinin ilk iki konusunda HestiaCP'yi kurduk ve cPanel'den site taşıdık. Şimdi çoğu kişinin ertelediği, sonra da pahalıya ödediği kısma geliyoruz: yedekleme.

HestiaCP kurulumla birlikte otomatik günlük yedek alır. Ama bu yedekler aynı sunucunun diskinde durur. Diskin bozulursa, sağlayıcı hesabını kapatırsa ya da bir saldırıda sunucuya erişim kaybedersen yedeklerin de gider. Bu yedekleme değil, sadece "yanlışlıkla sildim" senaryosuna karşı bir kopyadır.

Bu rehberde yedekleri otomatik olarak başka bir sunucuya göndermeyi kuracağız. Örneklerde kullanıcı adı olarak oblifex kullanıyorum, sen kendi kullanıcı adını yazacaksın.



1. Mevcut yedekleme durumunu gör

Önce sunucunun şu an ne yaptığına bakalım. SSH ile bağlan ve şunu çalıştır:

Kod:
v-list-users
ls -lh /backup/

/backup/ Dizininde oblifex.2026-09-07_05-10-01.tar gibi dosyalar göreceksin. Bunlar HestiaCP'nin yerel yedekleri.

Yedekleme ayarlarını görmek için:

Kod:
v-list-sys-config | grep -i backup

Buradaki BACKUP_SYSTEM değeri varsayılan olarak local gelir. Bizim hedefimiz buraya uzak bir depolama eklemek.



2. Hangi yedekleme hedefini seçmeli?

HestiaCP dört tip uzak hedefi destekler:

HedefNe zaman kullanılırMaliyet
SFTPElinde ikinci bir VPS veya storage box varsa. En basit ve en hızlı yöntem.Storage box aylık birkaç euro
Backblaze B2Ekstra sunucu istemiyorsan. Çok ucuz ve sınırsız kapasite.GB başına çok düşük
Amazon S3Zaten AWS kullanıyorsan.B2'den pahalı
RcloneGoogle Drive, Dropbox, Mega gibi servisleri kullanmak istiyorsan.Servise göre değişir

Benim tavsiyem: müşteri siteleri barındırıyorsan Hetzner Storage Box + SFTP. Ucuz, hızlı ve kurulumu beş dakika. Kişisel projeler için Backblaze B2 gayet yeterli.



3. Yöntem A — SFTP ile uzak sunucuya yedekleme

3.1 Uzak sunucuya SSH anahtarı gönder

Her yedeklemede şifre sormasın diye anahtar tabanlı erişim kuruyoruz. Ana sunucunda:

Kod:
ssh-keygen -t rsa -b 4096 -f /root/.ssh/id_rsa -N ""
ssh-copy-id -p 22 root@YEDEK_SUNUCU_IP

Hetzner Storage Box kullanıyorsan port ve komut biraz farklıdır:

Kod:
ssh-keygen -t rsa -b 4096 -f /root/.ssh/id_rsa -N ""
cat /root/.ssh/id_rsa.pub | ssh -p23 [email protected] install-ssh-key

Bağlantıyı test et, şifre sormadan girmeli:

Kod:
ssh -p 23 [email protected]

3.2 HestiaCP'ye hedefi tanıt

Kod:
v-add-backup-host sftp kullanici.your-storagebox.de kullanici SIFRE /backup 23

Komutun parametreleri sırasıyla: tip, sunucu adresi, kullanıcı adı, şifre, uzak dizin, port.

Doğru eklendiğini kontrol et:

Kod:
v-list-backup-hosts

3.3 İlk yedeği manuel al ve doğrula

Kod:
v-backup-user oblifex

Bu komut biraz sürer. Bitince uzak sunucuya bağlanıp dosyanın gerçekten oraya düştüğünü gözünle gör. Bu adımı atlama; "kurdum, çalışıyordur" diyen çok kişi felaket anında yedeği olmadığını fark etti.

Kod:
ssh -p 23 [email protected] "ls -lh /backup"



4. Yöntem B — Backblaze B2 ile yedekleme

Elinde ikinci sunucu yoksa bu yolu seç.

  1. Backblaze. Com üzerinden ücretsiz hesap aç
  2. Buckets → Create a Bucket ile özel (private) bir bucket oluştur, örn. oblifex-yedek
  3. App Keys → Add a New Application Key diyerek sadece o bucket'a yetkili bir anahtar üret
  4. Ekranda çıkan keyID ve applicationKey değerlerini kaydet — anahtar bir daha gösterilmez

Sonra HestiaCP'ye tanıt:

Kod:
v-add-backup-host b2 KEY_ID APPLICATION_KEY oblifex-yedek

Test et:

Kod:
v-backup-user oblifex



5. Zamanlama ve saklama süresi

Varsayılan olarak HestiaCP her gece yedek alır ve son 3 kopyayı saklar. Bunu ihtiyacına göre değiştir.

Saklanacak yedek sayısını artırmak için:

Kod:
v-change-sys-config-value BACKUP_MAX 7

Kullanıcı bazında limit koymak istersen:

Kod:
v-change-user-backup-exclusions oblifex '' '' '' '' ''
v-change-user-config-value oblifex BACKUPS 7

Yedekleme saatini değiştirmek için sistem cron'una bak:

Kod:
crontab -l | grep backup

Buradaki v-backup-users satırının saatini düzenleyebilirsin. Trafiğin en düşük olduğu saati seç; yedekleme sırasında sunucu belirgin şekilde yavaşlar.

Saklama stratejisi tavsiyesi: Sadece "son 7 gün" tutmak yetmez. Bir hack ya da veri bozulması iki hafta sonra fark edilebilir. Haftalık ve aylık kopya da tut.



6. Yedeğe neyin dahil olmayacağını belirle

Yedek boyutu şişince hem depolama maliyeti hem de yedekleme süresi artar. Önbellek klasörleri, log dosyaları ve geçici dosyalar yedekte yer kaplamamalı.

Panelde User → Edit → Backup Exclusions bölümünden ya da komutla:

Kod:
v-add-user-backup-exclusion oblifex web oblifex.com 'public_html/wp-content/cache'
v-add-user-backup-exclusion oblifex web oblifex.com 'public_html/internal_data/code_cache'

Mevcut hariç tutmaları görmek için:

Kod:
v-list-user-backup-exclusions oblifex

Tipik olarak dışarıda bırakılacaklar:

  • WordPress: wp-content/cache, wp-content/uploads/backup*
  • XenForo: internal_data/code_cache, internal_data/temp
  • Laravel: storage/logs, storage/framework/cache
  • Genel: node_modules, .git, logs



7. Yedeklemeyi izle — sessiz başarısızlık en tehlikelisi

Yedeklemenin en sinsi hâli, aylardır çalışmadığını fark etmemektir. Disk dolar, uzak sunucu şifresi değişir, cron durur ve kimsenin haberi olmaz.

Yedek listesini kontrol et:

Kod:
v-list-user-backups oblifex

Yedekleme loglarına bak:

Kod:
tail -50 /usr/local/hestia/log/backup.log

Basit bir kontrol scripti yazıp günlük çalıştırabilirsin. Son yedek 36 saatten eskiyse sana mail atar:

Kod:
cat > /root/yedek-kontrol.sh << 'EOF'
#!/bin/bash
KULLANICI="oblifex"
MAIL="[email protected]"
SON=$(ls -t /backup/${KULLANICI}.*.tar 2>/dev/null | head -1)

if [ -z "$SON" ]; then
  echo "UYARI: $KULLANICI icin hic yedek bulunamadi." | mail -s "Yedek Hatasi" $MAIL
  exit 1
fi

YAS=$(( ($(date +%s) - $(stat -c %Y "$SON")) / 3600 ))
if [ $YAS -gt 36 ]; then
  echo "UYARI: Son yedek $YAS saat once alinmis: $SON" | mail -s "Yedek Gecikmesi" $MAIL
fi
EOF

chmod +x /root/yedek-kontrol.sh
(crontab -l 2>/dev/null; echo "0 9 * * * /root/yedek-kontrol.sh") | crontab -



8. Geri yükleme — asıl test bu

Denenmemiş yedek, yedek değildir. Kurulumu bitirdikten sonra mutlaka bir geri yükleme denemesi yap.

Tüm hesabı geri yüklemek için:

Kod:
v-restore-user oblifex oblifex.2026-09-07_05-10-01.tar

Genellikle ihtiyacın olan şey tüm hesap değil, tek bir parçadır. Sadece bir siteyi geri al:

Kod:
v-restore-user oblifex oblifex.2026-09-07_05-10-01.tar no oblifex.com

Sadece veritabanını geri al:

Kod:
v-restore-user oblifex oblifex.2026-09-07_05-10-01.tar no no no oblifex_forum

Yedek dosyasının içine bakmak istersen:

Kod:
v-list-user-backup oblifex oblifex.2026-09-07_05-10-01.tar

Önemli: Geri yükleme mevcut dosyaların üzerine yazar. Canlı sitede geri yükleme yapmadan önce mevcut hâlinin ayrı bir kopyasını al; yanlış yedeği seçersen geri dönüşün olmaz.



9. Ekstra katman — 3-2-1 kuralı

Profesyonel yaklaşım şudur:

  • 3 kopya veri
  • 2 farklı ortam (sunucu diski + uzak depolama)
  • 1 kopya fiziksel olarak farklı konumda

Pratikte bu şu demek: HestiaCP'nin yerel yedeği (1) + Storage Box'a giden kopya (2) + haftada bir Backblaze B2'ye giden ikinci uzak kopya (3). Üçüncü katman için basit bir rclone cron'u yeterli:

Kod:
rclone sync /backup remote:oblifex-arsiv --transfers 4

Bunu haftada bir çalıştıracak şekilde cron'a ekle. Maliyeti düşük, getirisi çok yüksek.



Sık karşılaşılan hatalar

"Error: sftp failed to upload"
SSH anahtarı doğru gitmemiştir ya da port yanlıştır. ssh -p PORT kullanici@sunucu İle şifresiz bağlanabildiğini doğrula.

Yedekleme başlıyor ama yarıda kesiliyor
Disk doludur. df -h İle bak; HestiaCP yedeği önce yerelde oluşturur, sonra gönderir, yani sitenin boyutu kadar boş alana ihtiyaç duyar.

"Error: backup exceeds quota"
Kullanıcının disk kotası yetersiz. Panelden paket limitini artır.

Yedekler alınıyor ama uzak sunucuda görünmüyor
v-list-backup-hosts Çıktısını kontrol et. Hedef tanımlıysa /usr/local/hestia/log/backup.log dosyasında gerçek hata mesajı yazar.

Yedekleme çok uzun sürüyor, sunucu kilitleniyor
Hariç tutma listesi boştur. Cache ve log klasörlerini dışarıda bırak, gerekirse büyük yükleme klasörlerini ayrı bir rsync göreviyle taşı.

Geri yüklemeden sonra site açılmıyor
Dosya sahipliği bozulmuştur:
Kod:
chown -R oblifex:oblifex /home/oblifex/web/
v-rebuild-web-domains oblifex



Yedekleme kurduktan sonra takviminize bir hatırlatma koyun: üç ayda bir geri yükleme testi. Yedeğin çalıştığından emin olmanın başka bir yolu yok.

Takıldığınız yer olursa backup.log çıktısını buraya yapıştırın, birlikte bakalım. Serinin devamında HestiaCP'de Nginx önbellekleme ve site hızlandırma konusunu işleyeceğim.
 

Telegram kanalımız

Önemli konulardan ilk sen haberdar ol. Yeni konular anında Telegram kanalımıza düşüyor.

4 üye

Kanala katıl

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Geri