

(--all-databases)
全库备份
增加建库(create)及“use库”的语句,可接多个库名,同时备份
多个库***** -B 库1 库2。
备份带有create、use等语句。
(--routines)
备份存储过程和函数数据
(--triggers)
备份触发器数据
(--flush-logs)
刷新binlog日志(回顾binlog)
自动在备份时滚动binlog
减少无用数据输出
(调试)

#!/bin/bash
#单库备份目录
Single_Database="/usr/local/mysql/backup/Single_Database/"
#全库备份目录
Full_Database="/usr/local/mysql/backup/Full_Database/"
#日志存放目录
LOG="/usr/local/mysql/backup/backup.log"
#示例单库
Sin_Dat=mysql_test
#登录数据库的用户
USER="root"
#登录数据库的密码
PASSWD="123456"
#数据库的IP
HOST="localhost"
#数据库的端口
PORT="3306"
#当前时间
time=`date +"%Y-%m-%d %H:%M:%S"`
#备份单库mysql_test
echo -e "\033[34m ***********Begin backup Single Database***********\033[0m"
#显示进度条
b=''
i=0
while [ $i -le 100 ]
do
printf "Please wait...[%-50s]%d%%\r" $b $i
sleep 0.1
i=`expr 2 + $i`
b=#$b
done
#如果单库目录不存在则创建并进入到目录
[ ! -d $Single_Database ] && mkdir -p $Single_Database || cd "$Single_Database" >/dev/null 2>&1
#使用MySQL自带的mysqldump进行备份
mysqldump -u$USER -p$PASSWD -h$HOST -P$PORT -F -R --triggers -B $Sin_Dat --lock-all-tables >$Single_Database$Sin_Dat"_"$time.sql
#打印日志存放地址
echo -e "\033[35m##You can query log in $LOG##\033[0m"
#备份成功与否都打印相应信息
if [ $? == 0 ];then
echo -e "\033[35m##$Sin_Dat backup successful in $Single_Database##\033[0m"
else
echo -e "\033[35m##$Sin_Dat backup failed in $Single_Database##\033[0m"
fi
#休息10秒
sleep 10
#换行
echo
#备份全部数据库
echo -e "\033[34m ***********Begin backup Full databases***********\033[0m"
#显示进度条
b=''
i=0
while [ $i -le 100 ]
do
printf "Please wait...[%-50s]%d%%\r" $b $i
sleep 0.1
i=`expr 2 + $i`
b=#$b
done
#如果全库目录不存在则创建并进入到目录
[ ! -d $Full_Database ] && mkdir -p $Full_Database || cd "$Full_Database" >/dev/null 2>&1
#使用MySQL自带的mysqldump进行备份
mysqldump -u$USER -p$PASSWD -h$HOST -P$PORT -A -B -R -F --lock-all-tables >$Full_Database/Full_$time.sql
#打印日志存放地址
echo -e "\033[35m##You can query log in $LOG##\033[0m"
#备份成功与否都打印相应信息
if [[ $? == 0 ]];then
echo -e "\033[35m##Full database backup successful in $Full_Database##\033[0m"
else
echo -e "\033[35m##Full database backup failed in $Full_Database##\033[0m"
fi






再小的努力乘以365都很明显。
文章转载自不装逼的程序员,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




