shell脚本备份数据库

执行 db_dump.sh 数据库密码 ,脚本执行后会备份数据库中的所有库到 /mnt/mysqldump 目录中,备份文件名称为 “库名称 .sql” 。当此文件存在时报错并询问动作,输入“ S” 跳过备份,当输入“ B” 时备份“库名称 .sql” 文件为“库名称 _backup.sql”, 当输入“ O” 时,覆盖源文件。

第一步:安装数据库软件
yum install mariadb-server -y
第二步:打开数据库
systemctl start mariadb
第三步:编写shell脚本:

#!/bin/bash
ACTION_CMD(){
        read -p "
        [S]kip [B]ackup [O]verwrite
        please input action:" ACTION
        ACTION=`echo $ACTION|tr 'A-Z' 'a-z'`  转换输入字母的大小写
}
mkdir /mnt/mysqldump -p   建立备份数据库的存储位置
database=`mysql -uroot -p$1 -e "show databases;" | grep -E  "Database|schema" -v`  过滤出mysql中的数据库
echo $database > /mnt/mysqldump/$database.sql
[ -e "$database.sql" ] &&{
        case $ACTION in   使用case语句对不同的输入执行不同的动作
                s)
                ;;
                b)
                cp /mnt/mysqldump/$database.sql /mnt/mysqldump/$database_backup.sql
                ;;
                o)
                cp /mnt/mysqldump/$database.sql /mnt/mysqldump/$database.sql
                ;;
                exit)
                echo bye
                exit 0
                ;;
                *)
                echo "error:please input s b o or exit"
                ACTION_CMD $database.sql
esac
}

猜你喜欢

转载自blog.csdn.net/jay_youth/article/details/80839669
今日推荐