windows下备份Linux服务器上的MySQL

【更新】

因为windows存在 10点前后生成的时间格式不同,导致无法正确生成sql文件。导致上次的备份文件无法生成

研究后对旧内容进行修改

@echo off
forfiles /p "D:\ERP_MySQLbak" /m mysql_backup_*.sql -d -2 /c "cmd /c del /f @path"
set/a a=%time:~0,2%,b=a+100
mysqldump --opt -uroot1 -proot -h10.26.40.111 --all-databases >D:\ERP_MySQLbak\mysql_backup_%date:~0,4%-%date:~5,2%-%date:~8,2%_%b:~-2%_%time:~3,2%_%time:~6,2%.sql
@echo on

将原来的时间部分进行修改

说明:

  将时间点 转化为数字,然后将时间加100 这样获取到的时间就是  101、102 ... 111...124,然后截取后两位。就能得到正确的结果。01、02.....10、12、16

问题解决

 

 

需要备份首先就需要在本地安装MySQL

安装教程:

 https://www.cnblogs.com/com-xiaolanchong/p/12849455.html

自动备份和删除备份文件的bat脚本:

@echo off
forfiles /p "D:\ERP_MySQLbak" /m mysql_backup_*.sql -d -1 /c "cmd /c del /f @path"
set "yMd=%date:~,4%%date:~5,2%%date:~8,2%"
set "hms=%time:~,2%%time:~3,2%%time:~6,2%"
"D:\Program Files\mysql-5.7.28-winx64\bin\mysqldump.exe" --opt -uroot1 -proot -h***.***.***.***  --all-databases>D:\ERP_MySQLbak\mysql_backup_%yMd%-%hms%.sql
@echo on

 

说明 

forfiles /p "D:\ERP_MySQLbak" /m mysql_backup_*.sql -d -1 /c "cmd /c del /f @path"

删除之前的备份文件  

  "D:\ERP_MySQLbak" 是备份文件存储路径  

  mysql_backup_*.sql 是备份文件名称   以mysql_backup_ 开头  以.sql结尾 

  -d -1 是有效期为1天

 

set "yMd=%date:~,4%%date:~5,2%%date:~8,2%"
set "hms=%time:~,2%%time:~3,2%%time:~6,2%"

设置文件名称中的日期和时间

"D:\Program Files\mysql-5.7.28-winx64\bin\mysqldump.exe" --opt -uroot1 -proot -h***.***.***.***  --all-databases>D:\ERP_MySQLbak\mysql_backup_%yMd%-%hms%.sql

指定 mysqldump目录,使用root1 备份所有数据库到 D:\ERP_MySQLbak\mysql_backup_%yMd%-%hms%.sql 文件

 

剩下就是在windows中创建计划任务。

起个名

 

搞个触发器

 

 

指定脚本

 

 条件和设置 自己 搞

 

 保存,直接执行一次,测试任务是否可以执行。

下次执行时间5-9:1:05

上次执行时间5-8 10:55

 

 

 

 等着第二天看结果

posted @ 2020-05-08 11:27  啦啦啦啦啦啦啦啦啦啦  阅读(656)  评论(0编辑  收藏  举报