MySQL自动备份和下载备份到指定位置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Zdelta/article/details/86293135

经常手动获取服务器数据库太麻烦,而且容易影响到服务器配置,要是让数据库自动备份并定时下载到客户端指定位置就好了!

一、环境:

win sever2012+mysql 8

二、自动备份

命令行.bat脚本

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"  //可选,指定日期格式

//需要调用MySQL自带的MySQLdump程序

"D:/mysql5.7.23/bin/mysqldump" --opt -u 用户名--password=密码 数据库名 > "D:/指定位置/db_%Ymd%.sql"  2>> "D:\test\log.txt" 

//%Ymd%:上面定义的日期,用于文件名
//指定一个备份的目录并设定备份文件名,并打印错误日志到指定文件:2>>file



//调用7z压缩程序将备份文件压缩到一个指定目录
"7z.exe" a "D:\test\db_%Ymd%.zip" "D:/db_backup/db_%Ymd%.sql"


//forfiles命令:删除文件,这里只保留一份.sql文件
forfiles /p " D:\备份位置" /s /m *.sql /d -1 /c "cmd /c del @path"

在wiodows计划程序创建计划任务:

需要注意的是,创建计划任务时,配置要选择当前平台,否则任务无法运行:

三、自动下载

自动下载的脚本需要配置在客户端,用ftp实现(服务端发布ftp网站同理):

这是ftp.txt文本:

open 服务器地址
用户名
密码
prompt off
lcd D:\DBBackups\本地备份目录
mget *.zip     //要下载的文件
yes            //可选,部分环境需要yes确认一次下载命令
close
bye

然后配置一个.bat脚本,创建计划任务定时执行:

ftp -s:D:\ftp.txt 2>> D:\DBBackups\ResearchHome\FtpLog.txt

//ftp执行ftp.txt里的命令并将错误重定向输出

每天会定时备份数据库下来,效果:

猜你喜欢

转载自blog.csdn.net/Zdelta/article/details/86293135