阿里云数据库备份(阿里云数据库备份到本地)
有人说阿里云本身不是有备份吗?为什么还用自己本地化做备份策略啊,答案当然是“穷”了
阿里提供的服务都是要收费的,对于咱们这种小公司,没办法,只能自己局域网服务器里备份即可。
步骤:
准备centos 7.x 服务器:192.168.0.36
- 先在本地服务里添加脚本:
- 建立删除脚本,删除周期自己宣言。
- 脚本
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点执行删除脚本
声明:如若本站内容侵犯了原著者的合法权益,请提供凭证,可联系我们进行处理,详见<免责声明>