应用场景:数据库一直是我忽略的一个技术栈,很多时候我以为程序,项目写好了就行;现在回头看,数据真的太重要了。当你的领导要求你每天备份一份数据时,你是否觉得特别的烦,特别是在拥有几十个数据库时,真的忙不过来(我试过了)。虽然我们通过Navicat Premium 也可以导出SQL文件,但是通过这篇文章,我就可以教你用bat文件导出数据库啦。
数据库备份脚本
@echo off
echo =============================
echo ### mysql database backup bat
echo =============================
echo ========当前日期时间========
set nowdate=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo %nowdate%
echo =============================
echo IP地址和端口
set ipconfig=192.168.149.1
echo %ipconfig%
C:
echo 进入到mysql安装目录
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
echo =============================
echo mysql文件备份中
echo =============================
mysqldump -u root -pncayu@168.com db_online_shop >d:\mysql_backup\shop%ipconfig%_%nowdate%.sql
echo =============================
echo MySQL 备份成功
echo =============================
echo SQL文件压缩中
echo =============================
Bandizip a -r "D:\mysql_backup\shop%ipconfig%_%nowdate%.sql.zip" "D:\mysql_backup\shop%ipconfig%_%nowdate%.sql"
echo =============================
echo SQL文件压缩成功
echo =============================
echo 存在的sql文件
forfiles /p "D:\mysql_backup" /s /m *.sql /c "cmd /c del D:\mysql_backup\*.sql "
echo 存在的zip文件
forfiles /p "D:\mysql_backup" /s /m *.zip
rem 删除D:\temp目录下7天前的文件
echo *********************
echo * 按时间删除7天前的zip文件 *
echo *********************
rem 获取D:\mysql_backup目录下的zip文件,并且删除7天前的文件
Forfiles /p "D:\mysql_backup" /s /d -7 /m *.zip /c "cmd /c del /q /f @path"
echo 存在的zip文件
forfiles /p "D:\mysql_backup" /s /m *.zip
rem pause>nul 表示命令窗口不会出现“请按任意键继续”
pause>nul
脚本运行界面展示
什么是bat脚本
批处理文件,在DOS和Windows(任意)系统中,.bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用。这个文件的每一行都是一条DOS命令(大部分时候就好像我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
.bat脚本的语法和.sh脚本的语法不太一样,如果有需要用到的知识和语法,建议百度就好。
mysql备份脚本如何使用
1.你需要更改的一些信息 - MySQL安装路径 - MySQL备份文件存放的文件夹 - 远程备份一定要加IP地址和MySQL的端口 - 使用的压缩软件命令(可能使用的压缩软件不一样)
2.重要的命令行
备份mysql文件到指定文件夹
mysqldump -u root -pncayu@168.com db_online_shop >d:\mysql_backup\shop%ipconfig%_%nowdate%.sql
获取当前时间
set nowdate=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
获取D:\mysql_backup目录下的zip文件,并且删除7天前的文件
Forfiles /p "D:\mysql_backup" /s /d -7 /m *.zip /c "cmd /c del /q /f @path"
命令运行完成后,显示窗口不关闭。
pause>nul
设置Windows主机的定时任务
打开路径:控制面板(可在命令行下输入 control 打开)-> 管理工具 -> 任务计划程序,打开主界 面如下
设置定时任务很简单的啦,问题不大。希望我写的文章能够给你带来一点帮助,嘿嘿,谢谢大家啦,周末愉快!