Mysql veritabanı için otomatik yedek alma

Merhabalar,

Bu yazıda Mysql veritabanının sunucu üzerinden otomatik olarak yedeğini alma işlemini anlatacağım.

Öncelikle sunucumuza ssh ile erişim sağlıyoruz. Sonrasında;

cd /usr

yazarak "usr" klasörüne geçiş yapıyoruz.

mkdir yedekler

komutuyla "yedekler" adında bir klasör oluşturuyoruz.

cd yedekler

komutuyla "yedekler" klasörüne geçiş yapıyoruz.

nano yedekle.sh

komutuyla "yedekle.sh" adında bir dosya oluşturuyoruz. Bu dosyanın içeriğine şu kodları ekliyoruz:

#/usr/bin/!
zaman=$(date +%T)
isim=($zaman"_db.sql")
mysqldump --host="localhost" --user="username" --password="password" db_name > /usr/yedekler/"$isim"

Yukarıdaki kodların yaptığı işlemi özet olarak geçecek olursak;

* "zaman" adında bir değişten oluşturup değerine o an ki saati verdik. Ör: "20:00:00"

* "isim" adında bir değişken oluşturup değerine "zaman" değişkeni ve "_db.sql" string ifadesinin birleşimini verdik. Ör: "20:00:00_db.sql"

* mysqldump ile başlayan kısımda veritabanı bilgilerimizi yazarak veritabanı yedeğini alma komutunu çalıştıracağımızı söylüyoruz.

"Ctrl" ve "X" tuşlarına birlikte basarak dosyayı kaydedeceğimizi, sonrasında "Y" tuşuna basarak "Emin misiniz ?" sorusuna "Evet" yanıtını verdiğimizi ve en sonunda da "Enter" tuşuna basarak işlemi bitirdiğimizi söylüyoruz.

crontab -e

komutunu yazarak crontab işlemlerinin tanımlandığı kısmı açıyoruz.

0 * * * * /usr/yedekler/yedekle.sh

komutunu yazarak aynı şekilde "Ctrl + X", "Y" ve "Enter" tuşlarına basarak işlemi kaydediyoruz. Böylece her saat başı veritabanı yedeğimiz otomatik olarak alınmış olacaktır. Eğer siz farklı zaman aralıklarında almak istiyorsanız (ör: her gün saat 8'de gibi) crontab ifadesinde farklı bir tanımlama kullanabilirsiniz.

İyi çalışmalar.

Yusuf Borucu

Benim adım Yusuf. 1993 yılında Şanlıurfa'da doğdum. 2015 yılında Bilecik Şeyh Edebali Üniversitesi'nde Bilgisayar Mühendisliği bölümünden mezun oldum. Şu anda özel bir şirkette Yazılım Geliştirici olarak çalışmaktayım. Yazılıma yönelik uğraştığım, sevdiğim ve ilgi duyduğum teknolojilerden bahsetmem gerekirse; Laravel, MySQL (mevcut çalıştığım şirkette uğraştıklarım). Asp.Net Mvc, MSSQL (önceden ça...

"Mysql veritabanı için otomatik yedek alma" için hiç yorum yapılmadı.

Henüz yorum yapılmamış.

Yorum yap * E-posta adresiniz yayınlanmayacak.