windows10下mysql数据库自动备份与还原(.bat),并创建计划任务

一、编写脚本及脚本解释

1.mysql数据库自动备份脚本

@echo off
@echo 开始备份数据库
set hour=%Time:~0,2%
if "%Time:~0,1%"==" " set hour=0%Time:~1,1%
set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%-%hour%%Time:~3,2%%Time:~6,2%
set host=192.168.6.246
set port=3308
set user=root
set pass=123456
set dbname=abcd
set back_path=D:\MySQL5\MySQL_back
set backupfile=%back_path%\%dbname%-%now%.sql
"D:\MySQL5\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%
@echo 数据库备份成功
@echo 删除2天前备份的文件
forfiles /p "%back_path%" /s /m *.sql /d -2 /c "cmd /c del @path"
@echo 完成,3秒后程序退出

以下是对上边代码的解释:

@echo off
@echo 开始备份数据库      //命令行窗口中显示此条信息
set hour=%Time:~0,2%      //将hour设置为此刻小时位的时间,从0位置开始取2位
if "%Time:~0,1%"==" " set hour=0%Time:~1,1%      //(小时位如果是个位数例如9点,则默认不是09,而是 9,前一位位空)判断小时位第一位是否为空,如果为空则添加上0,如果不为空则不执行,hour为前一条语句设置的。
set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%-%hour%%Time:~3,2%%Time:~6,2%      //获取具体时间
set host=192.168.6.246      //设置数据库的ip地址
set port=3308      //设置数据库端口号
set user=root      //设置用户名
set pass=123456      //设置用户密码
set dbname=abcd      //设置数据库名称
set back_path=D:\MySQL5\MySQL_back      //设置备份的数据库的存储文件夹路径
set backupfile=%back_path%\%dbname%-%now%.sql      //设置每次备份的数据库名称(此处为“数据库名-时间”)
"D:\MySQL5\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%      //备份数据库的语句。(前方引号中的路径,为数据库安装目录下,mysqldump.exe程序的路径)
@echo 数据库备份成功      //命令行窗口中显示此条信息
@echo 删除2天前备份的文件      //命令行窗口中显示此条信息
forfiles /p "%back_path%" /s /m *.sql /d -2 /c "cmd /c del @path"     //删除文件修改日期为2天前的数据库备份文件(如果更改删除文件的时间,只需更改语句中数字)注意:如果没有两天前的备份,会报错,没关系
@echo 完成,3秒后程序退出      //命令行窗口中显示此条信息

 

2.mysql数据库备份脚本

@echo 开始恢复数据库
set host=192.168.6.72
set port=3310
set user=root
set pass=super
set dbname=test123
set back_path=D:\MySQL5\MySQL_back
set dbname_back=abcd-20191225-172133
set backupfile=%back_path%\%dbname_back%.sql
"D:\MySQL5\bin\mysql" -h%host% -P%port% -u%user% -p%pass% %dbname%< %backupfile%

以下是对上边的代码解释:

@echo 开始恢复数据库      //命令行窗口中显示此条信息
set host=192.168.6.72      //要还原的数据库IP地址
set port=3310      //要还原的数据库端口
set user=root      //设置用户名称
set pass=super      //设置用户密码
set dbname=test123      //设置数据库名称
set back_path=D:\MySQL5\MySQL_back      //备份的数据库路径
set dbname_back=abcd-20191225-172133      //设置备份的数据库具体名称
set backupfile=%back_path%\%dbname_back%.sql      //将具体的路径和名称合并,
"D:\MySQL5\bin\mysql" -h%host% -P%port% -u%user% -p%pass% %dbname%< %backupfile%      //还原数据库的语句。(前方引号中的路径,为数据库安装目录下,mysql.exe程序的路径)

 

注意:如果命令行窗口的中文乱码,是因为脚本编码不是ANSI编码,转换成ANSI编码即可解决

二、windows10下创建计划任务

1.右击此电脑图标,选择管理,选择任务计划程序库。(或者在控制面板的管理工具中,选择计划任务)

2.选择右侧的创建任务

3.自定义填入计划任务名称

4.选择触发器,点击【新建】,在弹窗中更改计划。之后点击【确定】

5.选择操作,点击【新建】,在弹窗中选择启动程序(默认即为启动程序),点击浏览,选择你的脚本文件。点击确定

6.此时基本配置已配置完毕,点击确认即可。此时可从列表中看到刚才创建的计划任务

7.若想试验是否成功,可通过调整计划所在电脑的时间来测试。

 

 

 

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
Oracle数据库备份可以通过编写批处理文件(bat)来实现。以下是一个简单的示例: @echo off set ORACLE_SID=YOUR_SID set ORACLE_HOME=YOUR_ORACLE_HOME set BACKUP_DIR=C:\Backup set DATE=%date:~-4,4%-%date:~-7,2%-%date:~-10,2% set TIME=%time:~0,2%-%time:~3,2% set FILENAME=backup_%DATE%_%TIME%.dmp echo 正在执行Oracle数据库备份... expdp username/password directory=DATA_PUMP_DIR dumpfile=%BACKUP_DIR%\%FILENAME% logfile=%BACKUP_DIR%\backup.log full=y if %errorlevel% equ 0 ( echo Oracle数据库备份完成。 ) else ( echo Oracle数据库备份出现错误。 ) 此批处理文件中的变量需要根据实际情况进行修改。其中: - YOUR_SID:需要替换为目标Oracle实例的SID(系统标识符)。 - YOUR_ORACLE_HOME:需要替换为Oracle软件的安装路径。 - C:\Backup:需要根据实际需要替换为备份文件存储的目标文件夹路径。 - DATA_PUMP_DIR:需要替换为您在Oracle数据库创建的数据泵目录对象。 执行该批处理文件时,它会设置必要的环境变量,然后使用expdp命令将数据库导出为一个数据泵文件(.dmp)。导出完成后,将在指定的目标文件夹中生成一个日志文件(backup.log),用于记录备份过程的详细信息。 批处理文件还包含一个错误检查,如果备份成功,将显示“Oracle数据库备份完成。”,如果备份过程存在错误,则显示“Oracle数据库备份出现错误。”。 这只是一个简单的示例,您可以根据自己的需求和环境来进行定制,例如可以添加压缩、加密等额外的步骤来增加备份的安全性。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mr__bai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值