Tüm Dbleri yedeklemek

Ağustos 7th, 2009

Bugün bir bash Script sunacagim, bir serverdeki tüm db leri teker teker yedekleye bilmek icin.

#!/bin/bash
echo "Save all db's:"
DBASELIST=`mktemp`
# tüm db lerin isimleri ni topla
# sifreburaya yazan yere root sifrenizi girin (script de iki kez kullaniliyor)
mysqlshow -sifreburaya | awk '{print $2}' | grep -v Databases | sort >$DBASELIST
#Backup hagi klasör icine yüklensin
cd /data
mkdir -p `date +%Y%m%W`
cd `date +%Y%m%W`
for x in `cat $DBASELIST`; do
    echo "Db: $x yedekleniyor";
    mysqldump --opt -psifreburaya $x >$x.sql;
done;
echo "Eski .gz-dosyalarini sil"
rm *.gz
echo "dosyalari SIKISTIR:"
gzip *

bukadar bunu linux makinanida herhangi bir yere yükleyin dosyayi .sh diye kayit edin ardindan
chmod 777 dosya.sh

elden calistirmak icin
sh dosya.sh

cronjob olarakda calistira bilirsiniz.
kolay gelsin

Kategoriler: Linux, Veritabani

Etiketler:, Yorum yapın

Yorumlar Beslemesi2 Yorum

  1. Gökçe YALÇIN

    fakat şöyle bir şey var:
    mysqldump –all-databases

    Bir de böyle bir sql dosyasından, veritabanlarını tek tek alma işi arada gerekebiliyor:

    http://www.gokceyalcin.com/mysql-dump-dosyasindan-teker-teker-dbleri-cikartma

  2. Skorp

    mysqldump –all da sorun iste yazinda belirttigin gibi dosya cok sise bilior sonra ayikla pirincin tasini:) ama vermis oldugun yöntem bu sorunu yasiyanlara güzel bir (en iyi) cözüm.
    yinede ben dbleri tek tke kayit etmeye devam:)
    sagol

Yorum yapın

Feed

http://www.skorp.eu / Tüm Dbleri yedeklemek