find exec mysql 导入_mysql备份数据库,导入数据sql

#!/bin/bash

#scripts :yzg

#set -x

sql=/home/scripts

dbuser=root

dbpasswd=yzg1314520

nowtime=$(date +%Y%m%d%H%M)

serverlist=`cat /home/serverlist | awk  '{print $2}'`

if [ -d $sql/$P/mysqlbak ];

then

echo "Directory exist"

else

echo "not is a Directory,please mkdir Directory"

mkdir $sql/$P/mysqlbak

if [ $? == 0 ] && [ -d $sql/$P/mysqlbak ];

then

echo "create Directory success"

fi

fi

sql_tar_export()

{

cd $sql/$P/mysqlbak

mysqldump -u$dbuser -p$dbpasswd $dbname -R test_1 > $nowtime.test_1.sql

tar -zcf $nowtime.test_1.Full.tar.gz $nowtime.test_1.sql

rm -rf $nowtime.test_1.sql

find $sql/$P/mysqlbak -name "*.test_1.Full.tar.gz" -mtime +1 -exec rm -rf {} \;

if [ "$?" == "0" ];

then

echo "已经正确备份,并删掉已解压的sql"

fi

}

sql_tar_input()

{

cd $sql/$P/mysqlbak

mysql -u$dbroot -p$dbpasswd -e 'drop database test_1'

mysql -u$dbroot -p$dbpasswd -e 'create database test_1'

if [ -a $sql/$port/mysqlbak/*.sql ];

then

mv  $sql/$port/mysqlbak/*.sql /tmp

db_sql=`ls -tr /home/scripts/$P/mysqlbak/|tail -n 1`

tar -xf ${db_sql}  -C $sql/$P/mysqlbak/

newname=`echo ${db_sql} | awk -F "." '{print $1"."$2}'`.sql

echo $newname

mysql  -u$dbuser -p$dbpasswd test_1 < $newname

fi

if [ "$?" == "0" ];

then

echo "正确导入sql"

fi

}

case "$1" in

8[0-9][0-9][0-9]|all)

;;

*)

echo "请输入正确数字"

exit 0

;;

esac

case "$2" in

export|input)

;;

*)

echo "请输入正确字符"

exit 0

;;

esac

port=$1

if [ "$port"  != "all" ] && [ "$2" == "export" ];

then

cd $sql/$port/mysqlbak

mysqldump -u$dbuser -p$dbpasswd $dbname -R test_1 > $nowtime.test_1.sql

tar -zcf $nowtime.test_1.Full.tar.gz $nowtime.test_1.sql

rm -rf $nowtime.test_1.sql

find $sql/$P/mysqlbak -name "*.test_1.Full.tar.gz" -mtime +1 -exec rm -rf {} \;

if [ "$?" == "0" ];

then

echo "已经正确备份,并删掉已解压的sql"

fi

elif [ "$port" != "all" ] && [ "$2" == "input" ];

then

cd $sql/$port/mysqlbak

mysql -u$dbroot -p$dbpasswd -e 'drop database test_1'

mysql -u$dbroot -p$dbpasswd -e 'create database test_1'

if [ -a $sql/$port/mysqlbak/*.sql ];

then

mv  $sql/$port/mysqlbak/*.sql /tmp

fi

db_sql=`ls -tr /home/scripts/$port/mysqlbak/|tail -n 1`

tar -xf ${db_sql}  -C $sql/$port/mysqlbak/

newname=`echo ${db_sql} | awk -F "." '{print $1"."$2}'`.sql

echo $newname

mysql  -u$dbuser -p$dbpasswd test_1 < $newname

if [ "$?" == "0" ];

then

echo "已经正确导入sql到数据库"

else

echo "导入失败,检查原因"

fi

else [ "$port" == "all" ] && [ "$2" == "export" ] || [ "$2" == "input" ]

for P in $serverlist

do

cd $sql/$P/mysqlbak

case "$2" in

export)

sql_tar_export

;;

input)

sql_tar_input

;;

esac

done

fi

exit 0

#set +x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值