BLOG

MYSQL Veri Tabanı Nasıl Yedeklenir?

26 Temmuz 2025 Burak GenelLinuxVDS / VPS

MYSQL Veri Tabanı Nasıl Yedeklenir?

26 Temmuz 2025 GenelLinuxVDS / VPS

Otomatik ve Manuel Olarak Veri Tabanı Yedekleme

Sunucuda barındırdığınız veriler, sizin veya müşterinizin işinin kalbidir. Ani bir sistem arızası, siber saldırı ya da kullanıcı hatası; dakikalar içinde geri döndürülemez veri kayıplarına yol açabilir. İşte tam da bu yüzden otomatik yedekleme, bir tercih değil; zorunluluktur.

Bu rehberde, özellikle Linux sunucularında otomatik yedekleme nasıl kurulur, hangi araçlar kullanılır ve süreç nasıl takip edilir adım adım açıklıyoruz.


Neleri Yedeklemelisiniz?

Yedekleme planınızı oluşturmadan önce, hangi verilerin kritik olduğunu netleştirmeniz gerekir:

  • Web sitesi dosyaları (örneğin /var/www/html)

  • Veritabanları (MySQL, MariaDB, PostgreSQL vb.)

  • Sunucu yapılandırma dosyaları

  • Gerekiyorsa e-posta dizinleri ve log dosyaları

Her yedek, ihtiyaç halinde sistemin en hızlı şekilde tekrar ayağa kaldırılmasını sağlamalıdır.


1. Dosyaları Otomatik Yedekleme: rsync Kullanımı

Linux sistemlerde, rsync en güvenilir yedekleme araçlarından biridir. Sadece değişen dosyaları kopyalamasıyla hem hızlıdır hem de disk alanından tasarruf sağlar.

Örnek komut:

rsync -avz /var/www/html /home/yedek/web

Bu komut, sitenizin dosyalarını /home/yedek/web klasörüne kopyalar.


2. Veritabanı Yedekleme: mysqldump ile

Eğer MySQL ya da MariaDB kullanıyorsanız, veritabanlarınızı yedeklemek için mysqldump aracını kullanabilirsiniz.

Örnek komut:

mysqldump -u root -p sunucudb > /home/yedek/sunucudb.sql

Dilerseniz yedeği sıkıştırmak için:

mysqldump -u root -p sunucudb | gzip > /home/yedek/sunucudb.sql.gz

3. Otomatikleştirme: cron ile Belirli Saatlerde Yedekleme

Sunucunun kendi kendine, belirli saatlerde yedekleme yapmasını istiyorsanız, Linux’un zamanlama sistemi olan cron işinizi görecektir.

Crontab’a giriş:

crontab -e

Her pazartesi saat 03:00’te çalışması için:

0 3 * * 1 /home/scripts/yedekle.sh

yedekle.sh örneği:

#!/bin/bash
rsync -avz /var/www/html /home/yedek/web
mysqldump -u root -pRootSifresi sunucudb | gzip > /home/yedek/sunucudb.sql.gz

Dosyaya çalıştırma izni vermeyi unutmayın:

chmod +x /home/scripts/yedekle.sh

4. Yedekleri Uzak Sunucu veya Buluta Aktarmak

Yedekler aynı sunucuda tutulduğunda, donanım arızasında tüm veriler riske girebilir. Bu nedenle yedeklerin başka bir sunucuya veya bulut servisine aktarılması önerilir.

Uzak sunucuya SCP ile aktarım:

scp /home/yedek/* [email protected]:/yedekler/

Bulut entegrasyonu için rclone kullanarak Google Drive, Dropbox, S3 gibi servisler kullanılabilir.


5. Yedekleme Sürecini Test Etmek

Yedek almak kadar önemli bir diğer konu da yedeklerin işe yarayıp yaramadığını test etmektir. Aksi takdirde, geri yüklenemeyen bir yedek aslında hiç alınmamış gibidir.

Kontrol etmeniz gerekenler:

  • Dosyalar açılabiliyor mu?

  • Veritabanı eksiksiz geri yükleniyor mu?

  • Yedekler düzenli alınıyor mu?

  • Tarihler güncel mi?


Güvenli Bir Gelecek İçin Otomatik Yedekleme Şart

Bugün almadığınız bir yedek, yarın sizi saatler süren bir krizin ortasına sokabilir. Bu yüzden yedekleme işlemlerini hem otomatikleştirmek hem de sık sık test etmek şarttır.

SunucumBurada olarak, VDS sunucularımızda kullanıcılarımıza hem manuel hem de otomatik yedekleme imkânı sunuyoruz.