【就业班作业】【第十五周】编写脚本,支持让用户自主选择,使用mysqldump还是xtraback全量备份。

shell脚本

#!/bin/bash
#
USER=root
PASS=centos
PS3="Please input a number[1|2]:  "
[ -d $mysqldumpdir ] || mkdir $mysqldumpdir
select backup_method in mysqldump xtrabackup;do
    case $backup_method in
        mysqldump)
            mysqldump -u$USER -p$PASS -A -F --single-transaction --master-data=2 |gzip > /data/backup/all-`date +%F`.sql.gz
        echo "Use mysqldump backup completed"
            break
            ;;
        xtrabackup)
            xtrabackup --user=$USER --password=$PASS --backup --target-dir=/data/backup/  &> /dev/null || echo "Code Error"
            echo "Use xtrabackup backup completed"
            break
            ;;
        *)
            echo "not support"
            ;;
    esac
done

执行效果

[root@mysql-master-server data]# ./backup
-bash: ./backup: Is a directory
[root@mysql-master-server data]# ./backup.sh 
1) mysqldump
2) xtrabackup
Please input a number[1|2]:  1
You choice mysqldump to backup completed
[root@mysql-master-server data]# ll /data/backup
total 136
-rw-r--r-- 1 root root 137929 Dec  7 14:28 all-2020-12-07.sql.gz
[root@mysql-master-server data]# 

(结束)

posted @ 2020-12-07 14:30  sankeya  阅读(98)  评论(0编辑  收藏  举报