Linux备份与还原数据库脚本

@toc

写脚本出发点

公司项目要求做个备份加还原数据库的脚本,So 由此而生





脚本存在的问题

1.目前是先备份再还原,这个是当时需求,有需要可以拆分开
2.导出数据库文件名后缀还没有加入时间





代码:

#!/bin/sh
#backup
targetPath=$1
moduleName=$2
dbInst=$3
dbName=$4
dbPwd=$5
if [ $# -ne 5 ];then
  echo "paramters loss"
  exit
fi
if [ "$moduleName" == "db2" ];then
for i in $targetPath/*
do
  if test -f $i
  then
      rm -f $i
  fi
done
db2stop force
db2start
db2 connect to $dbInst
db2 backup database $dbInst to $targetPath
db2 restore database $dbInst from $targetPath <<EOF
y
EOF
elif [ "$moduleName" == "oracle" ];then
exp $dbName/$dbPwd file=$targetPath/db.dmp owner=$dbName
sqlplus -s / as 'sysdba'<<EOF
drop user $dbName cascade;
create user $dbName identified by $dbPwd;
grant dba to $dbName;
commit;
exit;
EOF
imp $dbName/$dbPwd file=$targetPath/oracle.dmp fromuser=$dbName touser=$dbName
elif [ "$moduleName" == "mysql" ];then
mysqldump -u$dbName -p$dbPwd -R -E --default-character-set=utf8 $dbInst > $targetPath/backup_mysql.sql
mysql -u$dbName -p$dbPwd<<EOF
drop database $dbInst if exists $dbName;
create database $dbInst;
exit
EOF
mysql -u$dbName -p$dbPwd --default-character-set=utf8 $dbInst < $targetPath/backup_mysql.sql
fi



链接:https://pan.baidu.com/s/1_xcPtKSvto4YA5r4HxWsWQ 提取码:oji4 希望大家多多批评与指点!谢谢!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值