MySQL数据库进行分库备份shell脚本

[root@shell scripts]# vi fenbiao_backup.sh 
#!/bin/bash
MysqlUser=root
PassWord=backup123
Port=3306
Socket="/data/$Port/mysql.sock"
MysqlCmd="mysql -u$MysqlUser -p$PassWord -S $Socket"
Database=`$MysqlCmd -e "show databases;"|egrep -v "Database|_schema|mysql"`
MysqlDump="mysqldump -u$MysqlUser -p$PassWord -S $Socket"
IP=`ifconfig eth0|awk -F "[ :]+" 'NR==2 {print $4}'`
BackupDir=/backup/$IP
[ -d $BackupDir ] || mkdir -p $BackupDir
for dbname in $Database
   do
     [ ! -d /$BackupDir/$dbname ] && mkdir -p /$BackupDir/$dbname
     TABLE=`$MysqlCmd -e "show tables from $dbname;"|sed '1d'`
     for table in $TABLE
        do
          $MysqlDump $dbname $table|gzip >/$BackupDir/$dbname/${dbname}_${table}_$(date +%F).sql.gz
     done
done
分享原文

0 个评论

要回复文章请先登录注册