Eğitimler

Siteyi yedekten geri yükleme

Dosyalardan veritabanına site yedeğini geri yükleme adım adım; geri yükleme sonrası sağlık kontrolü, yaygın hataları giderme ve bilmeniz gereken güvenlik ipuçları.

Eğitimler

Yedek Geri Yükleme Neden Genellikle Yedek Almaktan Daha Zordur?

Çoğu site yöneticisi yedek almayı ciddiye alır; ancak iş yedek geri yüklemeye geldiğinde sorunlar başlar. Dosyaları yüklersiniz, veritabanını import edersiniz, ancak site hata verir. Bu makale tam da bu an için yazılmıştır: bir siteyi yedekten geri yüklemeniz gerektiğinde ve yolun yarısında takılmak istemediğinizde.

Bu rehberde, cPanel veya DirectAdmin kullandığınızı ve yedeğinizin iki ana bölümden oluştuğunu varsayıyoruz: site dosyaları (PHP kodları, görseller, tema ve eklentiler dahil) ve veritabanı çıktısı (SQL dosyası). İşlem sırası önemlidir: önce dosyalar, sonra veritabanı ve en son sağlık kontrolü. Bu sıraya uymazsanız, siteniz yarım kalabilir.

Adım Bir: Yedek Geri Yüklemeden Önce Hazırlık

Her şeyden önce, felaketi önlemek için hızlı bir kontrol yapın:

  • Hosting alanını kontrol edin: cPanel'de Disk Usage bölümünü açın ve yedek boyutunun en az iki katı kadar boş alanınız olduğundan emin olun. Yedek 2 GB ise en az 4 GB alana ihtiyacınız var.
  • PHP sürümünü not edin: Yedek eskiyse ve siteniz PHP 7.4 ile çalışıyorsa, sunucuda artık PHP 8.2 etkinse eski kodlar hata verebilir. cPanel'de Select PHP Version bölümünü kontrol edin.
  • Mevcut durumdan taze bir yedek alın: Siteniz şu anda bozuk olsa bile, geri yüklemeden önce mevcut dosya ve veritabanından bir kopya alın. Belki daha sonra belirli bir dosyaya ihtiyacınız olabilir.

Gerekli Araçlar

Yedek geri yüklemek için şu araçlara ihtiyacınız var:

  • Dosyaları yüklemek için FileZilla gibi bir FTP/SFTP istemcisi
  • phpMyAdmin'e erişim (cPanel'de) veya benzer bir araç
  • SSH erişimi (isteğe bağlı, ancak büyük siteler için önerilir)

Adım İki: Site Dosyalarını Geri Yükleme

Bu adım en basit kısımdır, ancak yaygın hatalar vardır. Yedeğiniz site-backup.zip gibi sıkıştırılmış bir dosyaysa, iki yolunuz var:

Birinci Yöntem: Hosting'e Yükleme ve Çıkarma

  1. Sıkıştırılmış dosyayı FileZilla aracılığıyla public_html klasörüne (veya DirectAdmin'de www) yükleyin.
  2. cPanel'de File Manager bölümüne girin ve dosyayı seçin.
  3. Dosyaya sağ tıklayın ve Extract seçeneğini seçin.
  4. Çıkarma yolunu /public_html olarak ayarlayın ve Extract'e tıklayın.

Yedek boyutu 500 MB'ın üzerindeyse, File Manager üzerinden çıkarma zaman aşımına uğrayabilir. Bu durumda SSH kullanın:

cd /home/username/public_html
unzip site-backup.zip

Dosyanız .tar.gz ise:

tar -xzvf site-backup.tar.gz

İkinci Yöntem: cPanel Yedeğinden Tam Geri Yükleme

Yedeğiniz cPanel'in kendisi tarafından alındıysa (backup klasöründe .tar.gz uzantılı dosyalar), cPanel'deki Backup bölümünden Restore a Home Directory Backup seçeneğini seçebilirsiniz. Bu yöntem tüm dosyaları orijinal konumuna geri getirir.

Yaygın hata: Birçok kullanıcı dosyaları iç içe geçmiş bir klasöre yükler. Örneğin, çıkarmadan sonra dosyalar public_html/site-backup/ içinde kalır, doğrudan public_html içinde değil. Sonuç: siteniz example.com/site-backup adresinde açılır. Çıkarmadan sonra, index.php veya wp-config.php dosyasının doğrudan public_html içinde olduğunu kontrol ettiğinizden emin olun.

Adım Üç: Veritabanını Geri Yükleme

Dosyalardan sonra sıra veritabanında. Bu adım, yedek geri yüklemenin en hassas kısmıdır, çünkü küçük bir hata tüm verileri yok edebilir.

Yeni Veritabanı Oluşturma

Önceki veritabanı silinmiş veya adı değişmişse, önce yeni bir veritabanı oluşturun:

  1. cPanel'de MySQL Databases bölümüne girin.
  2. İstediğiniz adla yeni bir veritabanı oluşturun (örneğin mydb_backup).
  3. Yeni bir kullanıcı oluşturun ve tüm yetkileri (ALL PRIVILEGES) verin.
  4. Veritabanı adını, kullanıcıyı ve şifreyi not edin; daha sonra sitenin yapılandırma dosyasında ihtiyacınız olacak.

SQL Dosyasını Import Etme

Şimdi .sql dosyasını import edin:

  1. phpMyAdmin'e girin.
  2. Sol menüden yeni veritabanını seçin.
  3. Import sekmesine tıklayın.
  4. SQL dosyasını seçin ve Go düğmesine tıklayın.

SQL dosyası büyükse (50 MB'ın üzerinde), phpMyAdmin genellikle zaman aşımı hatası verir. Çözüm: dosyayı SSH ile import edin:

mysql -u username -p mydb_backup < /home/username/backup.sql

Dosya sıkıştırılmışsa, önce açın:

gunzip backup.sql.gz
mysql -u username -p mydb_backup < backup.sql

Yapılandırma Dosyasını Güncelleme

Import işleminden sonra, veritabanı bağlantı bilgilerini sitenin yapılandırma dosyasında düzeltmelisiniz:

  • WordPress: wp-config.php dosyasını düzenleyin ve DB_NAME, DB_USER ve DB_PASSWORD değerlerini yeni bilgilerle değiştirin.
  • Laravel: .env dosyasını düzenleyin ve DB_DATABASE, DB_USERNAME ve DB_PASSWORD değerlerini değiştirin.
  • Joomla: configuration.php dosyasını düzenleyin.
Yaygın hata: Önceki veritabanı hala mevcutsa ve yeni SQL dosyasını aynı yere import ederseniz, Table already exists hatası alabilirsiniz. Çözüm: import etmeden önce tüm eski tabloları Drop edin. phpMyAdmin'de veritabanını seçin, Operations sekmesine tıklayın ve Drop all tables seçeneğini seçin. Veya SSH'de:
mysql -u username -p -e "DROP DATABASE mydb_backup; CREATE DATABASE mydb_backup;"

Adım Dört: Geri Yükleme Sonrası Sağlık Kontrolü

Yedek geri yüklemeden sonra siteyi açın. Hata görürseniz panik yapmayın. İşte en yaygın sorunlar ve çözümleri:

Dosya ve İzinleri Kontrol Etme

Yapacağınız ilk şey dosya izinlerini kontrol etmektir. Klasörler için doğru izin 755, dosyalar için 644'tür. Site Permission denied hatası verirse, SSH'den şu komutu çalıştırın:

find /home/username/public_html -type d -exec chmod 755 {} \;
find /home/username/public_html -type f -exec chmod 644 {} \;

Veritabanı Bağlantısını Kontrol Etme

Error establishing a database connection hatası görürseniz, yapılandırma dosyasındaki veritabanı bilgileri yanlıştır. Üç şeyi kontrol edin:

  1. Veritabanı adı, cPanel'de oluşturduğunuzla tamamen aynı mı? (Genellikle username_ önekiyle başlar)
  2. Kullanıcı adı ve şifre doğru mu?
  3. Veritabanı hostu localhost mu yoksa farklı bir adres mi?

Bağlantıları ve Site Adresini Kontrol Etme

Site açıldıysa ancak görseller ve bağlantılar bozuksa, sorun site adresindedir. WordPress'te bunu phpMyAdmin üzerinden yapın:

UPDATE wp_options SET option_value = 'https://example.com' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://example.com' WHERE option_name = 'home';

Siteniz WordPress kullanmıyorsa, .htaccess dosyasını yeniden yazmanız gerekebilir. cPanel'de File Manager'a girin, .htaccess dosyasını açın ve içeriğinin yedektekiyle eşleştiğinden emin olun.

PHP Hatalarını Kontrol Etme

Beyaz ekran (White Screen of Death) görürseniz, PHP hatalarını etkinleştirin. wp-config.php dosyasına (WordPress için) şu satırı ekleyin:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Ardından wp-content/debug.log dosyasını inceleyin. Yedek geri yüklemeden sonra en yaygın hata, PHP sürüm uyumsuzluğudur. Eski işlevlerle ilgili hatalar görürseniz, cPanel'de PHP sürümünü sitenin çalıştığı sürüme geri döndürün.

Başarılı Geri Yükleme İçin Ek İpuçları

Büyük Siteleri Geri Yükleme

Siteniz 5 GB'ın üzerindeyse, FTP üzerinden geri yükleme zaman alır. En iyi yol, SSH ve rsync aracını kullanmaktır:

rsync -avz --progress /home/backup/site/ /home/username/public_html/

Bu yöntem daha hızlıdır ve bağlantı koparsa, kaldığı yerden devam etmek için aynı komutu tekrar çalıştırabilirsiniz.

Özel Araçlarla Veritabanı Geri Yükleme

Çok büyük veritabanları için (1 GB'ın üzerinde) BigDump aracını kullanın. Bu PHP betiğini site klasörüne yükleyin ve SQL dosyasını tarayıcı üzerinden import edin. Bu yöntem, SSH'si olmayan paylaşımlı hostingler için en iyi seçenektir.

Özet

Yedek geri yükleme, doğru sırayla yapılırsa karmaşık bir iş değildir. Adımların özeti:

  1. Alan ve PHP sürümünü kontrol edin.
  2. Dosyaları public_html içine geri yükleyin.
  3. Yeni veritabanı oluşturun ve SQL dosyasını import edin.
  4. Yapılandırma dosyasını yeni veritabanı bilgileriyle güncelleyin.
  5. İzinleri, bağlantıları ve PHP hatalarını kontrol edin.

Bu adımları sırayla uygularsanız, vakaların %90'ında siteniz sorunsuz açılır. Kalan %10 için hata günlüklerini inceleyin ve PHP sürümü ile eklentilerin yedeğinizle uyumlu olduğundan emin olun. Hosting sağlayıcınız otomatik yedek yönetim aracını destekliyorsa (birçok İran hosting hizmeti bu özelliğe sahiptir), acil durumlarda yedek geri yüklemenin birkaç tıklamayla yapılması için mutlaka kullanın.

ServerNet Destek

ServerNet mühendislik ve yayın ekibi — altyapı, ağ ve web barındırma uzmanları.

WordPress Hosting
Paylaş:

Yorumlar 0

Henüz yorum yok — ilk siz olun!

Yorum bırakın

İlgili hizmet

WordPress Hosting

LiteSpeed Enterprise ve NVMe üzerinde WordPress'e özel altyapı — otomatik kurulum, güvenli güncelleme, staging ve sizi Google'da üstte tutan önbellek.