欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows server 2012 R2下备份mysql数据库,并将备份文件发送到其余主机进行异地备份

程序员文章站 2022-04-09 12:41:34
...

废话少说,直接贴脚本

rem ******MySQL backup shell******
@echo off
    
::目录判断
SET GenFolder=c:\mysqlbackup 
if not exist %GenFolder% (        
		echo %GenFolder%目录不存在,已创建该目录!
		md %GenFolder%
    ) else (        
		echo 目录%GenFolder%目录已存在,无需创建!	
    )	
	
::删除30天前的备份数据(因为我们的执行计划是3天备份一次,30天就有10次备份数据)
forfiles /p "c:\mysqlbackup" /m *backup_*.sql -d -30 /c "cmd /c del /f @path"

::设置时间变量
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"
    
::进入mysql安装目录的bin目录下
cd C:\Program Files\MySQL\MySQL Server 5.7\bin\

::执行备份操作
mysqldump --opt --single-transaction=TRUE --user=root --password=zpmc --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "数据库名称" > c:\mysqlbackup\"数据库名称"_backup_%Ymd%.sql

net use \\10.28.xxx.xx1 "密码" /user:"用户1"
xcopy C:\mysqlbackup\* \\10.28.xxx.xx1\mysqlbackup\ /s/d/y
net use \\10.28.xxx.xx1 /del

net use \\10.28.xxx.xx2 "密码" /user:"用户2"
xcopy C:\mysqlbackup\* \\10.28.xxx.xx2\mysqlbackup\ /s/d/y
net use \\10.28.xxx.xx2 /del


@echo on

::pause

上述脚本实现的功能是在本机C盘下的backup文件夹下备份数据,并发送到另外两台机器上进行远程备份(备份前会先删除30天之前的文件。)

脚本书写完毕,接下来就是将脚本设置为定时计划(看着截图一步一步走)

windows server 2012 R2下备份mysql数据库,并将备份文件发送到其余主机进行异地备份

windows server 2012 R2下备份mysql数据库,并将备份文件发送到其余主机进行异地备份

windows server 2012 R2下备份mysql数据库,并将备份文件发送到其余主机进行异地备份

windows server 2012 R2下备份mysql数据库,并将备份文件发送到其余主机进行异地备份

windows server 2012 R2下备份mysql数据库,并将备份文件发送到其余主机进行异地备份  

windows server 2012 R2下备份mysql数据库,并将备份文件发送到其余主机进行异地备份

 windows server 2012 R2下备份mysql数据库,并将备份文件发送到其余主机进行异地备份

windows server 2012 R2下备份mysql数据库,并将备份文件发送到其余主机进行异地备份