并发备份数据库

例63

需求:用shell实现,以并发进程的形式将mysql数据库所有的表备份到当前目录,并把所有的表压缩到一个压缩包文件里。

假设数据库名字为mydb,用户名为aming,密码为passwd。

#!/bin/bash
#这个脚本用来并发备份数据库
#作者:xzm
#日期:2019-12-13
N=5
mysql -uaming -ppasswd mydb -e “show tables”|sed ‘1d’ > /tmp/table.txt
n=wc -l /tmp/table.txt|awk '{print $1}' div() { n=echo “scale=1;$1/ 2 " ∣ b c ‘ n 1 = ‘ e c h o " s c a l e = 1 ; 2"|bc` n1=`echo "scale=1; 2"bcn1=echo"scale=1;n+0.5”|bcecho $n1|cut -d. -f1 } n1=div $n $Nsplit -l $n1 /tmp/table.txt myd() { for t incat $1`
do
mysqldump -uaming -ppasswd mydb $t > $t.sql
done
}
for f in xaa xab xac xad xae
do
myd $f &
done
wait
tar czf mydb.tar.gz *.sql
rm -f *.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值