windows下mysql自动备份及备份同步至远端的NAS解决方案

时间:2021-08-25 18:18:54   收藏:0   阅读:13

一、问题描述

某项目客户要求把阿里云上一台ECS非核心的mysql库做备份,具体要求如下:

1、每天1:00对mysql数据库进行完全备份。

2、备份文件存放到阿里云的NAS平台上。

3、保留5天的备份副本。

TPS:

看似很简单的问题,中间在实施过程中,还是遇到一些坑,特地作一下记录,以备后续参考。

 

二、实施过程

技术分享图片

2.1 编写mysql的备份脚本

1、mysql的自动备份脚本

@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
cd C:\Program Files\MariaDB 10.2\bin&&mysqldump -hlocalhost  -uroot -p***** --single-transaction --opt --events  --triggers  --routines -B itsm > C:\itop_mysql_backup\itsm_%Ymd%.sql
?
forfiles /p "C:\itop_mysql_backup" /s /m *.sql /d -5 /c "cmd /c del @path"

  

mysqldump参数说明:

forfiles参数说明:

按照 SearchMask 搜索文件。默认的 SearchMask 是 *.*。

指示 forfiles 在子目录中搜索。

在每个文件上运行指定的 Command。带有空格的命令字符串必须用引号括起来。默认的 Command 是 "cmd /c echo @file"。

选择日期大于或等于 (+)(或者小于或等于 (-))指定日期的文件,其中 MM/*DD/YYYY* 是指定的日期,DD 是当前日期减去 DD 天。如果未指定 + 或-,则使用 +。DD 的有效范围是 0 - 32768。

在命令提示符下显示帮助。

2、设置脚本的静默执行

mysql_bak.vbs,内容如下:

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c mysql_bak.bat",vbhide

  

参数说明:

2.2 设置定时计划

1、任务计划--》创建基本任务

技术分享图片

 

 

技术分享图片

 

2、设置触发器

技术分享图片

 

3、设置操作

技术分享图片

 

 

2.3 同步备份文件至NAS

1、安装SyncBackPro软件

2、创建任务

1)点击添加按钮,创建任务

技术分享图片

2)选择任务的类型

技术分享图片

TPS:

3)选择同步文件的位置

技术分享图片

4)选择要同步的源文件夹和目标文件夹

技术分享图片

3、创建定时计划

1)创建计划任务

技术分享图片

2)设置计划任务

技术分享图片

三、注意事项

1、设置windows计划时,操作阶段,必须在“起始于”设置脚本的路径,否则bat不能成功执行。具体如下图所示:

技术分享图片

 

原文:https://www.cnblogs.com/lkj371/p/15186147.html

评论(0)
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!