shell定时增量备份脚本_分享一个shell脚本--用case来判断备份MySQL数据库

概述

如何用shell脚本的case语句备份MySQL数据库?下面分享一个备份的脚本,大家可以看下。

14a355397d549c90cb5f49b69e558429.png

需求:

利用case语句备份数据库,要求

1.执行db_dump.sh westos (数据库密码)

2.脚本执行后会备份数据库中的所有数据到/mnt/mysqldump目录下

3.备份文件名称为“库名称.sql”,当此文件存在是跳过,并询问动作

4.输入”s“跳过备份,输入”b“备份“库名称.sql”文件为”库名称_backup.sql”,输入”o“覆盖原文件


1.脚本内容:

#!/bin/bashDATABASE=`mysql -uroot -EN -e "show databases;" | grep -E "^*|schema$" -v`mkdir -p /mnt/mysqldump //建立目录for DATABASE_NAME in $DATABASEdo [ -e "/mnt/mysqldump/${DATABASE_NAME}.sql" ] || { mysqldump -uroot $DATABASE_NAME > /mnt/mysqldump/${DATABASE_NAME}.sql echo -e "${DATABASE_NAME}.sql is backup!!" //文件不存在,备份 } && { //文件存在时询问动作 read -p "[S]kip [B]ackup [O]verwrite Please input action: " ACTION ACTION=`echo $ACTION | tr 'A-Z' 'a-z'` case $ACTION in s) //直接跳过 ;; b) //更新名字备份 mysqldump -uroot $DATABASE_NAME > /mnt/mysqldump/${DATABASE_NAME}_backup.sql echo "${DATABASE_NAME}_backup.sql is backup!!" ;; o) //覆盖备份 mysqldump -uroot $DATABASE_NAME > /mnt/mysqldump/${DATABASE_NAME}.sql echo "${DATABASE_NAME}.sql is overwrite!!" ;; exit) //退出 echo "bye" exit 0 ;; *) //其他显示错误 echo error esac }done
b00100c892e9a0fcebba0819c2726cdf.png

2.执行

[root@localhost mnt]# sh db_dump.sh linux.sql is backup!![S]kip [B]ackup [O]verwrite Please input action: smysql.sql is backup!![S]kip [B]ackup [O]verwrite Please input action: exitbye[root@localhost mnt]# sh db_dump.sh [S]kip [B]ackup [O]verwrite Please input action: blinux_backup.sql is backup!![S]kip [B]ackup [O]verwrite Please input action: exitbye[root@localhost mnt]# sh db_dump.sh [S]kip [B]ackup [O]verwrite Please input action: olinux.sql is overwrite!![S]kip [B]ackup [O]verwrite Please input action: exitbye
08e69ab9906544bc3b367e0d934f7d20.png

大家有空也可以自己测试一下,不过建议改写成自动定时备份好点,比较有实际意义。后面小编会分享更多Linux方面内容,感兴趣的朋友走一波关注哩~

c3b628e97c3b3557144911bf44aa7cae.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值