线上RDS逻辑备份采用mysqldump恢复到本地(自用)
恢复过程
从RDS上下载逻辑备份文件(tar格式,解压后为gz格式)
解压后对sql文件中的GTID进行注释(修改过程中会生成比较大的sed临时文件,需要留足空间)
将处理过后的sql通过 mysql -u用户 -p密码 < sql文件 进行导入恢复
#! /bin/bash
cd /home/dsj_ftp
mkdir -p /home/dsj_ftp/sql_tmp
ls *.tar|xargs -n1 tar xvf &> /tmp/dump.log
ls *.gz|xargs -n1 gzip -d &>> /tmp/dump.log
#删除sql文件中的GTID信息
for t in /home/dsj_ftp/*.sql
do
if [ -f "$t" ];then
a=`cat -n $t|grep GTID_PURGED|awk '{print $1}'`
b=$(($a+1))
sed -i ''$a's/^/#&/g' $t
sed -i ''$b's/^/#&/g' $t
mv $t sql_tmp
else
echo -e "`date -R`:no sql need move" &>> /tmp/dump.log
break
fi
done
#移动到指定路径
mv /home/dsj_ftp/sql_tmp/zscartm1jucom2_datafull* /data/mgc/srcmgc.`date +%Y-%m-%d`.sql &
mv /home/dsj_ftp/sql_tmp/public_resource* /data/wp/src_public_resource_centers.`date +%Y-%m-%d`.sql &
mv /home/dsj_ftp/sql_tmp/third_garage_accessories* /data/wp/src_third_garage_accessories.`date +%Y-%m-%d`.sql &
mv /home/dsj_ftp/sql_tmp/third_user_authorization* /data/wp/src_third_user_authorization.`date +%Y-%m-%d`.sql &
mv /home/dsj_ftp/sql_tmp/weipei_activities_datafull* /data/wp/src_weipei_activities.`date +%Y-%m-%d`.sql &
mv /home/dsj_ftp/sql_tmp/weipei_base_service_datafull* /data/wp/src_weipei_base_service.`date +%Y-%m-%d`.sql &
mv /home/dsj_ftp/sql_tmp/weipei_logistics3_datafull* /data/wp/src_weipei_logistics3.`date +%Y-%m-%d`.sql &
mv /home/dsj_ftp/sql_tmp/weipei_open_datafull* /data/wp/src_weipei_open.`date +%Y-%m-%d`.sql &
mv /home/dsj_ftp/sql_tmp/weipei_upgrade_datafull* /data/wp/src_weipei_upgrade.`date +%Y-%m-%d`.sql &
mv /home/dsj_ftp/sql_tmp/yunju_datafull* /data/wp/src_yunju.`date +%Y-%m-%d`.sql &
#清理相关临时文件
sleep 600
rm -rf sql_tmp
rm -rf hins*
cd /data/mgc
find /data/mgc/ -mtime +7 -name "*.sql" |xargs rm -rf
cd /data/wp
find /data/wp/ -mtime +7 -name "*.sql" |xargs rm -rf