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 Usagebö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 Versionbö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
- Sıkıştırılmış dosyayı FileZilla aracılığıyla
public_htmlklasörüne (veya DirectAdmin'dewww) yükleyin. - cPanel'de
File Managerbölümüne girin ve dosyayı seçin. - Dosyaya sağ tıklayın ve
Extractseçeneğini seçin. - Çıkarma yolunu
/public_htmlolarak 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.
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:
- cPanel'de
MySQL Databasesbölümüne girin. - İstediğiniz adla yeni bir veritabanı oluşturun (örneğin
mydb_backup). - Yeni bir kullanıcı oluşturun ve tüm yetkileri (ALL PRIVILEGES) verin.
- 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:
- phpMyAdmin'e girin.
- Sol menüden yeni veritabanını seçin.
Importsekmesine tıklayın.- SQL dosyasını seçin ve
Godüğ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.phpdosyasını düzenleyin veDB_NAME,DB_USERveDB_PASSWORDdeğerlerini yeni bilgilerle değiştirin. - Laravel:
.envdosyasını düzenleyin veDB_DATABASE,DB_USERNAMEveDB_PASSWORDdeğerlerini değiştirin. - Joomla:
configuration.phpdosyasını düzenleyin.
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:
- Veritabanı adı, cPanel'de oluşturduğunuzla tamamen aynı mı? (Genellikle username_ önekiyle başlar)
- Kullanıcı adı ve şifre doğru mu?
- Veritabanı hostu
localhostmu 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:
- Alan ve PHP sürümünü kontrol edin.
- Dosyaları
public_htmliçine geri yükleyin. - Yeni veritabanı oluşturun ve SQL dosyasını import edin.
- Yapılandırma dosyasını yeni veritabanı bilgileriyle güncelleyin.
- İ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.
Yorumlar 0
Henüz yorum yok — ilk siz olun!