MySQL 全量增量备份方案 -3- 全备脚本与每日定时备份

本贴最后更新于 1544 天前,其中的信息可能已经渤澥桑田

MySQL全备与增备方案请参考

MySQL 全量增量备份方案 -1-全量备份实现

MySQL 全量增量备份方案 -2-增量备份实现

本篇主要将全量备份过程整理成shell脚本,并定时进行备份。

全备shell脚本

编写shell脚本innobackup_main.sh如下

#!/bin/sh

# Author : happy
# Copyright (c) http://www.lemonban.com
# Script follows here:

host=localhost
username=root
password=123456
port=3306
fileCnf=/etc/my.cnf

#远程备份IP
remoteHost=192.168.1.101
remoteBackdir=/home/tp-backup

#参数 例 beginTime='2020-08-10'
beginTime=`date +"%Y-%m-%d"`

#全备路径 例 /bak/2020-08-10/main
baseUrl=$backdir/$beginTime/main

#日志路径  例 /bak/2020-08-10/log/main.log 
logUrl=$backdir/$beginTime/log/main.log

#全备目录不存在则创建
if [ ! -d "$baseUrl" ];then
   mkdir -p $baseUrl;
 break;
 fi

#日志目录不存在则创建
if [ ! -d "$backdir/$beginTime/log/" ];then
   mkdir -p $backdir/$beginTime/log/
 fi
	#首先移除全备目录及全备压缩包
        rm -fr $baseUrl;
        rm -fr $baseUrl.tar.gz;

	#全量备份
        innobackupex --defaults-file=$fileCnf --user=$username --password=$password --host=$host --no-timestamp $baseUrl 1> $logUrl 2>&1;
	#添加到压缩包
        tar cvzf  $baseUrl.tar.gz $baseUrl;

        #远程备份
        sleep 3;
        ssh root@$remoteHost "mkdir -p $remoteBackdir/$beginTime";
        scp $baseUrl.tar.gz @$remoteHost:$remoteBackdir/$beginTime;

授与执行权限

chmod +x innobackup_main.sh

每日凌晨执行全备脚本

执行如下命令编辑定时任务配置文件(centos 7下)

crontab -e

加入如下配置,表示每日凌晨1点执行全备脚本

* 1 * * * /opt/innobackup/innobackup_main.sh

重载生效

systemctl reload crond.service

至此,系统将每天凌晨1点执行MySQL全备脚本并保存到本地和远程机器上,如本机备份目录下:

[root@iZwz98um4r4f2es3d23uz4Z ~]# cd /home/data/backup/
[root@iZwz98um4r4f2es3d23uz4Z backup]# ll
total 12
drwxr-xr-x 4 root root 4096 Aug 21 09:30 2020-08-21
drwxr-xr-x 4 root root 4096 Aug 22 01:59 2020-08-22
drwxr-xr-x 4 root root 4096 Aug 23 01:59 2020-08-23
[root@iZwz98um4r4f2es3d23uz4Z backup]# cd 2020-08-23/
[root@iZwz98um4r4f2es3d23uz4Z 2020-08-23]# ll
total 10424
drwxr-xr-x 2 root root     4096 Aug 23 01:00 log
drwxr-x--- 6 root root     4096 Aug 23 01:59 main
-rw-r--r-- 1 root root 10665901 Aug 23 01:59 main.tar.gz
[root@iZwz98um4r4f2es3d23uz4Z 2020-08-23]# 
回帖
请输入回帖内容 ...