Tüm Dbleri yedeklemek
August 7th, 2009
Bugün bir bash Script sunacagim, bir serverdeki tüm db leri teker teker yedekleye bilmek icin.
CODE:
-
#!/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
Categories: Linux, Veritabani








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
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