Yıllık alımda %20 indirim — Hosting & VDS
Metin2 Sunucu Yedekleme: mysqldump ile Tam Rehber
Rehber

Metin2 Sunucu Yedekleme: mysqldump ile Tam Rehber

M
Mezuhost Teknik Ekip
6 Ağustos 2026 8 dakika okuma 0 görüntülenme

Metin2 veritabanını mysqldump ile yedekleme, otomatik günlük yedek kurma, yedeği geri yükleme ve yedeğin gerçekten çalıştığını doğrulama adımları.

Metin2 sunucusu işletenlerin çoğu yedek almanın önemini, yedeği olmadığı gün öğreniyor. Diskte bir bozulma, yanlış çalıştırılmış bir SQL sorgusu ya da içeriden bir sabotaj; sebep ne olursa olsun sonuç aynı: oyuncuların aylarca emek verdiği karakterler siliniyor ve sunucu bir daha toparlanamıyor.

Bu rehberde Metin2 veritabanını yedeklemenin doğru yolunu, yedeği geri yüklemeyi ve — en çok atlanan kısım — yedeğin gerçekten işe yaradığını nasıl doğrulayacağınızı anlatıyoruz.

Metin2'de Neyi Yedeklemeniz Gerekir?

Yedek denince akla sadece veritabanı gelir ama eksik yedek, yedek sayılmaz. Üç şeyi birden almalısınız:

  • Veritabanları: account, player, common, log. Oyuncu verisinin tamamı burada.
  • Sunucu dosyaları: Quest dosyaları, yapılandırma dosyaları, derlenmiş binary'ler ve locale klasörü.
  • İstemci tarafı: Oyunculara dağıttığınız client'ın epk/eix dosyaları. Bunları kaybederseniz yamayı yeniden üretmek zorunda kalırsınız.

Sadece player yedekleyip account yedeklemeyenler, geri dönüşte karakterleri olan ama giriş yapamayan oyuncularla karşılaşır.

mysqldump ile Yedek Alma

mysqldump, MySQL ile birlikte gelen ve veritabanını SQL metnine çeviren araçtır. Ek kurulum gerektirmez.

Tek bir veritabanını yedeklemek

mysqldump -u root -p player > player_yedek.sql

Metin2'nin dört veritabanını birlikte yedeklemek

mysqldump -u root -p --databases account player common log > metin2_yedek.sql

--databases parametresi önemlidir: geri yüklerken veritabanlarını otomatik oluşturan CREATE DATABASE satırlarını da dosyaya ekler. Bu parametre olmadan alınan yedeği başka bir sunucuya taşımak zahmetli olur.

Tarih damgalı yedek almak

mysqldump -u root -p --databases account player common log > metin2_$(date +%Y%m%d_%H%M).sql

Dosya adı metin2_20260806_1040.sql şeklinde oluşur. Yedeklerin hangi tarihe ait olduğunu isimden görmek, kriz anında kaybedilen zamanı azaltır.

Sıkıştırarak yedeklemek

Metin2 veritabanları büyür. Aktif bir sunucunun log veritabanı tek başına gigabaytları bulabilir. Sıkıştırma yer sorununu büyük ölçüde çözer:

mysqldump -u root -p --databases account player common log | gzip > metin2_yedek.sql.gz

Metin dosyaları çok iyi sıkışır; genellikle boyutun onda birine kadar iner.

Yedek Alırken Sunucuyu Kapatmalı mısınız?

Kısa cevap: InnoDB kullanıyorsanız hayır.

Metin2 tabloları InnoDB motoruyla çalışıyorsa, tutarlı bir anlık görüntü almak için şu parametreyi ekleyin:

mysqldump -u root -p --single-transaction --databases account player common log > yedek.sql

--single-transaction, yedek boyunca tabloları kilitlemeden tutarlı bir görüntü alır. Oyuncular oynamaya devam eder, yedek de bozulmaz.

Tablolarınız MyISAM ise bu parametre işe yaramaz; o durumda --lock-tables gerekir ve yedek süresince yazma işlemleri bekler. Motorunuzu şu sorguyla öğrenebilirsiniz:

SELECT table_name, engine FROM information_schema.tables WHERE table_schema = 'player';

Otomatik Günlük Yedek Kurma

Elle alınan yedek, unutulan yedektir. İşi zamanlayıcıya devredin.

Yedek betiği oluşturun

nano /root/metin2-yedek.sh

İçeriği:

#!/bin/sh
HEDEF=/yedek/metin2
TARIH=$(date +%Y%m%d_%H%M)
mkdir -p $HEDEF

mysqldump -u root -pSIFRENIZ --single-transaction \
  --databases account player common log | gzip > $HEDEF/db_$TARIH.sql.gz

# 14 gunden eski yedekleri sil
find $HEDEF -name "db_*.sql.gz" -mtime +14 -delete

Betiği çalıştırılabilir yapın:

chmod +x /root/metin2-yedek.sh

Zamanlayıcıya ekleyin

crontab -e

Her gece 04:00'te çalışması için:

0 4 * * * /root/metin2-yedek.sh

Saat seçerken oyuncu yoğunluğunun en düşük olduğu zamanı tercih edin. Metin2 sunucularında bu genellikle sabaha karşı 04:00 ile 06:00 arasıdır.

Eski yedekleri temizlemeyi unutmayın

Betikteki find ... -mtime +14 -delete satırı 14 günden eski yedekleri siler. Bu satırı koymazsanız birkaç ay içinde disk dolar ve — ironik biçimde — yedekleriniz sunucunuzu çökertir. Bu, düşündüğünüzden çok daha sık yaşanan bir olaydır.

En Kritik Kural: Yedeği Aynı Sunucuda Tutmayın

Disk bozulursa, sunucu ele geçirilirse ya da sağlayıcı hesabınız kapanırsa, aynı makinedeki yedek de gider. Yedeğin en az bir kopyası başka bir yerde durmalı.

Başka bir sunucuya kopyalamak

scp /yedek/metin2/db_20260806_0400.sql.gz kullanici@yedek-sunucu:/yedekler/

Otomatik ve artımlı kopyalama

rsync -avz /yedek/metin2/ kullanici@yedek-sunucu:/yedekler/metin2/

rsync sadece değişen dosyaları aktarır, bu yüzden günlük çalıştırmak için uygundur. Betiğinizin sonuna ekleyebilirsiniz.

Yedeği Geri Yükleme

Sıkıştırılmamış yedek

mysql -u root -p < metin2_yedek.sql

Sıkıştırılmış yedek

gunzip < metin2_yedek.sql.gz | mysql -u root -p

Tek bir veritabanını geri yüklemek

mysql -u root -p player < player_yedek.sql

Geri yükleme öncesi oyun sunucusunu durdurun. Süreçler ayaktayken veritabanını değiştirirseniz, bellekte tutulan eski veri geri yazılır ve geri yükleme kısmen boşa gider.

Yedeğinizin Çalıştığını Doğrulayın

Bu adım neredeyse hiç yapılmıyor ve yedek almanın en önemli parçası aslında burası. Test edilmemiş bir yedek, yedek değil, temennidir.

Dosya boyutunu kontrol edin

ls -lh /yedek/metin2/

Bir yedek dosyası aniden küçüldüyse (örneğin 800 MB'tan 2 KB'a), yedek başarısız olmuş ve muhtemelen sadece hata mesajı yazılmış demektir.

İçeriğe göz atın

gunzip < db_20260806_0400.sql.gz | head -40

Başında CREATE DATABASE ve CREATE TABLE satırlarını görmelisiniz.

Ayda bir gerçek tatbikat yapın

Test sunucunuza yedeği geri yükleyin, oyunu başlatın, bir karakterle giriş yapın. Beş dakikalık bu kontrol, gerçek bir felakette sunucunuzu kurtarır.

Sunucu Dosyalarını da Yedeklemek

Veritabanı tek başına yetmez. Quest'ler, ayarlar ve derlenmiş dosyalar da gitmemeli:

tar -czf /yedek/metin2/dosyalar_$(date +%Y%m%d).tar.gz /usr/home/channel1 /usr/home/auth

Dosya yapısını tanımıyorsanız Metin2 files klasör yapısı yazımızda hangi klasörde ne olduğunu ayrıntılı anlattık.

Özet

İyi bir yedek düzeni üç şartı sağlar: otomatiktir, sunucunun dışında bir kopyası vardır ve düzenli olarak test edilir. Üçünden biri eksikse, tam olarak ihtiyaç duyduğunuz anda çalışmama ihtimali yüksektir.

Yedekleme yükünü kendi üzerinizden almak isterseniz Metin2 sunucu paketlerimizde yedekleme altyapısı hazır geliyor. Saldırı riskiniz varsa DDoS korumalı Metin2 sunucu seçeneklerimize de bakmanızı öneririz.

metin2 yedekleme mysqldump veritabanı sunucu yönetimi
Paylaş
M

Mezuhost Teknik Ekip

Mezuhost — Teknik İçerik Ekibi

İletişim

Mezuhost ile Hizmetlerimizi Keşfedin

DDoS korumalı sunucular, yüksek performanslı VDS ve hosting çözümleri.

Güvenilir İş Ortaklarımız & Altyapı Sağlayıcılarımız

Stormwall
MikroTik
Juniper
Datacasa
Cloudflare
Dell
Ryzen
Arbor
Stormwall
MikroTik
Juniper
Datacasa
Cloudflare
Dell
Ryzen
Arbor
Stormwall
MikroTik
Juniper
Datacasa
Cloudflare
Dell
Ryzen
Arbor