mysql自动dump脚本_MySQL--简单mysqldump脚本
內容如下:
#!/bin/bash
DATE=`date '+%Y%m%d'`
TIME=`date '+%H%M%S'`
BAK_CMD="/data/mysql3306/bin/mysqldump -uroot -proot -hlocalhost -P3306 --default-character-set=utf8 --master-data=2 --single-transaction "
DB_NAME="shop_zp"
DIR_NAME="/data/mysqlbak/db_bak/table_bak/"
#選擇備份數據庫名
printf "請輸入備份數據庫名,默認[${DB_NAME}],同時備份多個庫格式[db_name1 db_name2]:\n"
while read BAK_DB_NAME
do
case ${BAK_DB_NAME} in
'Q'|'exit'|'q')
printf "退出備份程序,備份結束[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"
exit
;;
*)
if [ "`echo ^${BAK_DB_NAME}`" = "^" ]; then
BAK_DB_NAME=${DB_NAME}
fi
break
;;
esac
done
printf "(#提示:你輸入備份數據庫名是[${BAK_DB_NAME}].)\n"
#輸入備份的表名
printf "請輸入備份的表名,單表即表名,多表格式[table1 table2 table3],全庫或多庫備份請直接回車:\n"
while read BAK_TABLE_NAME
do
case ${BAK_TABLE_NAME} in
'Q'|'exit'|'q')
printf "退出備份程序,備份結束[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"
exit
;;
*)
if [ "`echo ^${BAK_TABLE_NAME}`" = "^" ]; then
BAK_TABLE_NAME="ALL"
fi
break
;;
esac
done
printf "(#提示:你輸入備份的表名是[${BAK_TABLE_NAME}].)\n"
#輸入備份的目錄
printf "輸入備份的目錄,默認[${DIR_NAME}],注意路徑以"/"結束:\n"
while read TMP
do
case ${TMP} in
'Q'|'exit'|'q')
printf "退出備份程序,備份結束[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"
exit
;;
*)
if [ "`echo ^${TMP}`" = "^" ]; then
TMP=${DIR_NAME}
fi
if [ ! -d ${TMP} ]; then
printf "備份目錄[${TMP}]不存在... \n"
printf "請輸入備份目錄,默認[${DIR_NAME}]:\n"
else
BAK_DIR_NAME=${TMP}
break
fi
;;
esac
done
unset TMP
printf "(#提示:你輸入備份目錄是[${BAK_DIR_NAME}].)\n"
#開始執行相應級別備份腳本
T_NAME=`echo "${DATE}_${BAK_DB_NAME}@${BAK_TABLE_NAME}_${TIME}.sql"|sed "s/ /@/g"`
if [ ${BAK_TABLE_NAME} == ALL ];then
printf "\n開始備份[${BAK_DB_NAME}]數據庫[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"
${BAK_CMD} --databases ${BAK_DB_NAME} > ${BAK_DIR_NAME}${T_NAME}
else
printf "\n開始備份[${BAK_DB_NAME}]數據庫[${BAK_TABLE_NAME}]表[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"
${BAK_CMD} --databases ${BAK_DB_NAME} --tables ${BAK_TABLE_NAME} > ${BAK_DIR_NAME}${T_NAME}
fi
printf "備份完成,備份文件[${BAK_DIR_NAME}${T_NAME}] ...大小為[`du -k ${BAK_DIR_NAME}${T_NAME} | awk '{printf $1}'` Kbytes]\n"
總結
以上是生活随笔為你收集整理的mysql自动dump脚本_MySQL--简单mysqldump脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 串口调试助手 rtc 显示时间_闪电侠串
- 下一篇: mysql使用小技巧_MySQL使用小技