网站首页 > 技术教程 正文
一、问题描述
某项目客户要求把阿里云上一台ECS非核心的mysql库做备份,具体要求如下:
1、每天1:00对mysql数据库进行完全备份。
2、备份文件存放到阿里云的NAS平台上。
3、保留5天的备份副本。
TPS:
- 运行mysql的ECS的操作系统为windows 2012 64位
- mysql的版本为MariaDB 10.2
- 本地备份路径在C:\mysql_backup(因为只有一个系统盘,没得选择)
看似很简单的问题,中间在实施过程中,还是遇到一些坑,特地作一下记录,以备后续参考。
二、实施过程
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参数说明:
- --single-transaction:该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。
- --opt: 等同于--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys 该选项默认开启, 可以用--skip-opt禁用.
- --event: 导出事件
- --triggers: 导出触发器
- --routines:导出存储过程以及自定义函数
forfiles参数说明:
- /p Path指定 Path,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号 (.) 指定。注:绝对路径应该包含在双引号中,且路径应该由反斜杠分割:example:"D:\HOME\Desktop\62backup"
- /m SearchMask
按照 SearchMask 搜索文件。默认的 SearchMask 是 *.*。
- /s
指示 forfiles 在子目录中搜索。
- /c Command
在每个文件上运行指定的 Command。带有空格的命令字符串必须用引号括起来。默认的 Command 是 "cmd /c echo @file"。
- /d[{+ | -}] [{MM/*DD/YYYY* | DD}]
选择日期大于或等于 (+)(或者小于或等于 (-))指定日期的文件,其中 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
参数说明:
- mysql_bak.bat:mysql备份脚本文件名。
2.2 设置定时计划
1、任务计划--》创建基本任务
2、设置触发器
3、设置操作
2.3 同步备份文件至NAS
1、安装SyncBackPro软件
2、创建任务
1)点击添加按钮,创建任务
2)选择任务的类型
TPS:
- 备份:不会删除目标端的文件,如果此文件在源端不存在的话。
- 同步:是双向同步,最终两边的文件会达到一致。
- 镜像:以源为标准,同步到目标源,如果目标端的文件在源中不存在,则目标端的文件会被删除掉。
3)选择同步文件的位置
4)选择要同步的源文件夹和目标文件夹
3、创建定时计划
1)创建计划任务
2)设置计划任务
三、注意事项
1、设置windows计划时,操作阶段,必须在“起始于”设置脚本的路径,否则bat不能成功执行。具体如下图所示:
- 上一篇: golang配制高性能sql.DB
- 下一篇: python--数据库支持
猜你喜欢
- 2024-11-23 用mysql binlog排查阿里开源项目otter的问题
- 2024-11-23 MySQL数据库之死锁与解决方案
- 2024-11-23 漫画:如何给女朋友解释乐观锁与悲观锁?
- 2024-11-23 现在某团的面试怎么还问这个?详细描述从JDBC到ORM的事务实现
- 2024-11-23 python--数据库支持
- 2024-11-23 golang配制高性能sql.DB
- 2024-11-23 线上服务的 GC 问题排查,看这篇就够了
- 2024-11-23 微软Win11 Dev预览版25174发布
- 2024-11-23 事务相关知识集锦
- 2024-11-23 SAP Business One 安装问题集锦
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)