温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql自动备份脚本

发布时间:2020-06-27 07:06:10 来源:网络 阅读:249 作者:qq1282886418 栏目:系统运维

/##mysql自动备份脚本
/##写了一个mysql数据库的shell自动备份数据的脚本,在每日的12点和24点进行备份
/##
/##
/###!/bin/bash
/########################################################################
/### DATE: 2019-10-25 #
/### AUTHOR: zhangy_j #
/### FUNC: 判断指定数据库名,如未指定则退出该程序 #
/### 根据当前test测试数据库进行备份指定数据库 #
/### 该脚本可单独运行,也可在每日11点和23点自动调用 #
/### #
/###-------------|------------------------------------------------------#
/########################################################################
/###调取数据库密码文件
/#. /sbin/yujun/.pswd >/dev/null 2>&1
/#export BAK=/databak >/dev/null 2>&1
/#if [ ! -d $BAK ]; then
/#mkdir -p $BAK >/dev/null
/#fi
/#chmod 755 -R $BAK
/#DATAFILE=${BAK}/datafile.db
/#DATA_DIR=${BAK}
/#BAK_DIR=${BAK}/bak
/#BAK_DT=date +%Y%m%d
/#BAK_LOG=${BAK_DIR}/databak${BAK_DT}_log
/#ERR_LOG=${BAK_DIR}/databak${BAK_DT}_errlog
/#FILE_DT=date +%H
/#DB_USER='root'
/#############################Backup database host
/#DB_HOST="192.168.5.207"
/#D=$1
/#if [[ $1 == '--help' || $1 == '-h' ]]
/#then
/# echo "Usage: $0 数据库名"
/# echo "eg:db_bak 11111"
/# exit
/#fi
/#if [ x"$1" != x ]; then
/# echo "-----【date "+%Y/%m/%d %H:%M:%S"】开始备份 $U 数据库-----"
/# mysqldump --opt --single-transaction --max_allowed_packet=1G --routines -E --master-data=2 --ignore-table=gp-data-center.gp_data_send_log -u$DB_USER -p$pass \
/# -h$DB_HOST ${D} > ${PWD}/${D}.sql
/#echo "备份文件目录【 $PWD 】"
/#ls -lrt $PWD/.sql
/# echo "-----【date "+%Y/%m/%d %H:%M:%S"】备份完成 $U 数据库-----"
/#else
/# ############################Database backup user
/# DB_USER='root'
/# #Create backup directory
/# if [ ! -d ${BAK_DIR}/${BAK_DT}/${FILE_DT} ]; then
/# mkdir -p ${BAK_DIR}/${BAK_DT}/${FILE_DT} >/dev/null
/# fi
/# if [ ! -f ${DATAFILE} ]
/# then
/# echo "$DATAFILE file does not exist! "
/# echo "请在$DATAFILE中输入所有要备份的数据库名!"
/# exit
/# fi
/# print_log(){
/# MYDATE=date +"%Y-%m-%d %H:%M:%S"
/# case ${2} in
/# 1)
/# printf "%-40s%s\n" "$1" "$3$4$5$6$7$8${9}"
/# printf "%-40s%s\n" "$1" "$3$4$5$6$7$8${9}" >> ${BAK_LOG}
/# ;;
/#
)
/# echo "input error" >> ${BAK_LOG}
/# ;;
/# esac
/# }
/# cd ${BAK_DIR} || exit
/# for i in cat $DATA_DIR/datafile.db
/# do
/# print_log "The database to be backed up is named: $i" "1"
/# DB_FILE=$i.sql
/#
/# echo "----【date "+%Y/%m/%d %H:%M:%S"】开始备份${i}数据库----" >>${BAK_LOG}
/# mysqldump --opt --single-transaction --max_allowed_packet=1G --routines -E --master-data=2 --ignore-table=gp-data-center.gp_data_send_log -u$DB_USER \
/# -p$pass -h$DB_HOST ${i} > ${BAK_DIR}/${BAK_DT}/${FILE_DT}/${DB_FILE}
/# echo "----【date "+%Y/%m/%d %H:%M:%S"】备份完成 ${i} 数据库,备份文件 ${DB_FILE}----" >>${BAK_LOG}
/#sleep 5
/#F1=${BAK_DIR}/${BAK_DT}/${FILE_DT}
/#grep '@%' $F1/*.sql |grep -v root |uniq&gt;$F1/aa.txt<br/>/#cat $F1/aa.txt |awk -F '' '{print $1 ,$2}'|awk -F ':' '{print $1,$NF}'|awk '{print $1}'|uniq|grep -v ^$|xargs>$F1/a1.txt 2> /dev/null
/#cat $F1/aa.txt |awk -F '' '{print $1 ,$2}'|awk -F ':' '{print $1,$NF}'|awk '{print $NF}'|uniq|grep -v ^$|xargs&gt;$F1/a2.txt 2&gt; /dev/null<br/>/#<br/>/#for i incat $F1/a2.txt<br/>/#do<br/>/#for j incat $F1/a1.txt<br/>/#do<br/>/#sed -i s/\${i}`\@`\%`/`root`\@`\%`/g ${j} >/dev/null 2>&1
/#sleep 1
/#done
/#done
/#rm -f $F1/aa.txt
/#rm -f $F1/a1.txt
/#rm -f $F1/a2.txt
/#sleep 2
/#sed -i s/`gp-eeds-cms`\@`\%`/`root`\@`\%`/g eeds-cms.sql >/dev/null 2>&1
/#sed -i s/`gcy-base`\@`\%`/`root`\@`\%`/g gpbl-parb.sql >/dev/null 2>&1
/#sed -i s/`gp-gcy-gpmall`\@`\%`/`root`\@`\%`/g gp-gpmall.sql >/dev/null 2>&1
/#sed -i s/`gcy-gpmanage`\@`\%`/`root`\@`\%`/g gp-manage.sql >/dev/null 2>&1
/# done
/#fi

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI