【就业班作业】【第十五周】编写脚本,支持让用户自主选择,使用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]#
(结束)