阿里云数据库备份(阿里云数据库备份到本地)

阿里云数据库备份(阿里云盘删除备份)阿里云数据库备份(阿里云盘删除备份)

有人说阿里云本身不是有备份吗?为什么还用自己本地化做备份策略啊,答案当然是“穷”了

阿里提供的服务都是要收费的,对于咱们这种小公司,没办法,只能自己局域网服务器里备份即可。

步骤:

准备centos 7.x 服务器:192.168.0.36

  1. 先在本地服务里添加脚本:
  2. 建立删除脚本,删除周期自己宣言。
  3. 脚本

db-batch.sh

	#!/bin/bash
#Shell Command For Backup MySQL Database Everyday Automatically By Crontab 
#time 2018-12-14 
#name hsq

USER="用户名"

PASSWORD="密码"

HOST="rm-2ze44ubdd90i9r4n0sbuo.mysql.rds.aliyuncs.com"

CONN="-h$HOST -u$USER -p$PASSWORD"

DATE_DIR=`date +%Y%m%d`
LOCAL_DIR=/data/db-test/bak/$HOST

LOCAL_CMD="/usr/local/mysql/bin/mysqldump --no-defaults"

DATE=`date +%Y%m%d-%H%M`

LOGFILE=/data/db-test/log/$DATE.log

echo "-----------------$DATABASE-$DATE开始备份-------------------" >> $LOGFILE 

if [ ! -d $LOCAL_DIR ];then
	mkdir -p $LOCAL_DIR
fi
cd $LOCAL_DIR

$LOCAL_CMD $CONN --all-databases > $DATE.sql

if [[ $? == 0 ]]; then

	echo "BACKUP SUCCESSFUL!" >> $LOGFILE 

	find $LOCAL_DIR -name $DATABASE"*.sql" -type f -mtime +5 -exec rm -rf {} ;
fi

删除脚本:clean.sh

#!/bin/bash

find /data/db-test/bak/rm-2ze44ub90i9r4n0sbuo.mysql.rds.aliyuncs.com -name "*.sql" -ctime 1 -exec rm -rf {} ;

删除前一天之前的文件。

定时任务:

00 1,13 * * * /bin/sh /data/db-test/bin/db-batch-2ze44ub90i9r4n0sbuo.sh
* 1 * * * /bin/sh /data/db-test/bin/clean.sh

第天1点、13点执行备份脚本 。

每天1点执行删除脚本