Shell多线程备份数据库的脚本

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: Shell多线程备份数据库的脚本

本脚本来自有学习阿铭的博文学习:

我的每天要做的工作就要备份数据库,需要涉及到Percona Xtrabackup,mysql数据库中最良心的公司,解决了很多mysql数据库的bug。废话多说,开始脚本

提示:本文中的S全部都$符

#!/bin/bash
#用途:Shell多线程备份数据库的脚本。
#作者:Caron maktini
#日期:2019年1月5日
#版本:v0.1

##假设100个数据库的库名、host、port以及配置文件路径保存到了一个文件下,文件为/tmp/database.list
##格式:db1 10.1.1.2 3308  /data/mysql/db1/my.cnf
##备份数据库使用的软件是Percona Xtrabackup

exex &> /tmp/mysql_bak.log

if  ! which  innobackupex  &> /dev/null
then
      echo  "安装Xtrabackup工具 "
      rpm -ivh  xtrabackup.tar
      yum install -y     percona-xtrabackup-24
       if [ $?  -ne 0 ]
       then
             echo  "安装Xtrabackup工具,出现错误"
             exit 1
       fi
 fi 

bakdir=/data/backup/mysql 
bakuser=admin 
bakpass=administrator 


function bak_data  {
    db_name=$1 
    db_host=$2 
    db_port=$3 
    cnf=$4 
     [  -d Sbakdir/Sdb_name ] || mkdir -p   Sbakdir/$db_name 
      innobackupex  --defaults-file=S4  --host=S2  --port = S3
 --user=Sbakuser  --password=Sbakpass   Sbakdir
          if  [  $? -ne 0 ]
          then
                echo `备份数据库$1出现问题`
          fi
}
    


fifofile=/tmp/$$ 
mkfifo    $fifofile 
exec 1000<>  $fifofile 

thread=10
for   (( i=0;i<$thread; i++)) 
do 
    echo  >&1000 
done 

cat /tmp/databases.Iist | while read line 
do 
    read -u1000
    {
        bak_data ' echo $line`
        echo  >&1000
    }&  
done

wait
exec 1000>&-
rm -f  $fifofile
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
存储 Oracle 关系型数据库
关系型数据库Oracle运行RMAN脚本
【7月更文挑战第23天】
7 4
|
3天前
|
存储 Oracle 关系型数据库
|
1天前
|
监控 Oracle 算法
|
1天前
|
Oracle 关系型数据库 数据库
关系型数据库Oracle编写RMAN脚本
【7月更文挑战第23天】
10 2
|
2天前
|
Oracle 关系型数据库 数据库
关系型数据库Oracle执行RMAN脚本
【7月更文挑战第22天】
9 2
|
3天前
|
运维 Oracle 关系型数据库
关系型数据库Oracle自动化备份
【7月更文挑战第21天】
14 3
|
5天前
|
存储 SQL Oracle
关系型数据库Oracle归档日志备份
【7月更文挑战第19天】
19 5
|
2天前
|
Oracle 关系型数据库 数据库连接
|
5天前
|
SQL Oracle 关系型数据库
关系型数据库Oracle备份工具
【7月更文挑战第19天】
22 4
|
4天前
|
存储 Oracle 安全
关系型数据库Oracle备份频率
【7月更文挑战第20天】
14 2