MYSQL的备份对数据的恢复起到关键作用,为了保证备份的持续性,下面方案在LINUX下配置MYSQL自动备份任务,并生成压缩文件传输至远程服务器,最后删除历史备份文件。

在LINUX下部署shell程序:

#!/bin/bash

USER=root

PASSWORD="root"

DATABASE="oa"

BACKUP_DIR=/home/mysqlbak/

LOGFILE=/home/mysqlbak/oa_backup.log

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

DUMPFILE=$DATE.sql

ARCHIVE=$DATE.sql.tgz

OPTIONS="-u$USER -p$PASSWORD $DATABASE"

if [ ! -d $BACKUP_DIR ] ;

then

mkdir -p "$BACKUP_DIR"

fi

echo " " >> $LOGFILE

echo " " >> $LOGFILE

echo "———————————————–" >> $LOGFILE

echo "BACKUP DATE:" $(date +"%y-%m-%d %H:%M:%S") >> $LOGFILE

echo "———————————————– " >> $LOGFILE

cd $BACKUP_DIR

mysqldump $OPTIONS > $DUMPFILE

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

tar czvf $ARCHIVE $DUMPFILE >> $LOGFILE 2>&1

echo “[$ARCHIVE] Backup Successful!” >> $LOGFILE

rm -f $DUMPFILE

else

echo “Database Backup Fail!” >> $LOGFILE

fi

echo “Backup Process Done

##以下是将备份文件传输至异地服务器

rsync -avz --port=8888 $ARCHIVE rsync@220.128.180.123::backup --password-file=/etc/.rsyncd.secrets

# delete old backup(删除7天前历史备份文件)

find /home/mysqlbak/ -mtime +7 -name "*.sql.tgz" -exec rm -rf {} \;


最后通过linux的crontab任务设置定时任务即可!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

企业微信号

微信扫一扫咨询

微信公众号

关注我们,定期优惠

立即
投稿
发表
评论
返回
顶部
展开