bash-yardimmerkezinet

Bash script ile veritabanı yedeklemek

Bash script ile linux sunucularımız üzerinde bir çok zaman alacak işlemi basit ve zahmetsiz bir şekilde gerçekleştirebilirsiniz. Aşağıdaki bash script var olan veritabanı yedeğini almayı ve alınan veritabanı yedeğini bir ftp hesabına yedekleme işlemlerini gerçekleştirmektedir.

Aşağıdaki bash komutlarını SSH üzerinden mysqlbackup.sh olarak sh dosyası oluşturabilirsiniz.

nano mysqlbackup.sh

sh dosyasını çalıştırmak için SSH üzerinden  aşağıdaki komutları girmemiz gerekmektedir.

chmod +x mysqlbackup.sh

./mysqlbackup.sh

Bu mysqlbackup.sh dosyasını crontab‘a ekleyerek günlük veritabanı yedeklerini alabilirsiniz. home klasörü altına bu sh dosyasını oluşturduğumuzu varsayarsak eklenecek cron komutu aşağıdaki gibidir. SSH üzerinden crontab -e komutu ile cron ekleyebilirsiniz.

* * 1 * * /home/mysqlbackup.sh

Örnekte backup klasörü içerisinde yedek alınmakta ve alınan yedek tar.gz ile sıkıştırılmaktadır. Sıkıştırılan veritabanı yedeği ftp ile tekrardan farklı bir yere yedeklenmektedir.

#!/bin/bash
#Serkan Tetik mysqldump Backup Script
#http://www.yardimmerkezi.net

#Veritabani kullanici adi giriyoruz.
echo Veri Tabani Kullanici Adinizi Giriniz:
read kullaniciadi

#Veritabani sifresini giriyoruz.
echo Veri Tabani Kullanici Adi Sifrenizi Giriniz:
read sifre

#Veritabani sunucu adini giriyoruz.
echo Veri Tabani Sunucu adinizi Giriniz:
read sunucu

#Veritabani adini giriyoruz.
echo Veri Tabani adinizi Giriniz:
read db

#VERITABANI ADI
MyDB="$db"
#KULLANICI ADI
MyUSER="$kullaniciadi"
#SIFRE
MyPASS="$sifre"
#SUNUCUADI
MyHOST="$sunucu"

#Tarih alma
tarih="$(date +"%d-%m-%Y")"

mysqldump -u$MyUSER -h$MyHOST -p$MyPASS $db > $db-$tarih.sql 
tar -czvf $db-$tarih.tar.gz $db-$tarih.sql
rm -rf $db-$tarih.sql
echo Tebrikler yedek alinmistir. Veritabani yedeginizin adi: $db-$tarih.tar.gz

Leave a Reply

*

Doğrulama * Time limit is exhausted. Please reload the CAPTCHA.

Next ArticleLinux ping: unknown host network sorunu