10.windows系统:定时任务备份mysql数据库

1. 创建脚本

.bat内容如下:

@echo off
::设置编码格式utf-8否则有中文乱码
chcp 65001
echo.
echo MySQL数据库开始备份

echo *****************************
echo.
echo 备份日期:%date%
echo 备份时间:%time%
echo.
echo *****************************

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

::md "D:\mysql_backup\%Ymd%" 
md "D:\mysql_backup"

REM mysqldump -uroot -proot  -A --default-character-set=utf8 --opt -Q -R --skip-lock-tables > D:\mysql_backup\%Ymd%\mysql_bak.sql

mysqldump -uroot -proot --databases my_db –skip-add-locks > D:\mysql_backup\%Ymd%_my_db.sql


echo 删除超过3天的备份数据

forfiles /p D:\mysql_backup /s /m *back.sql /d -3 /c "cmd /c del @path"

echo MySQL数据库备份完成

脚本内容解释说明:

  • (1) @echo oFF 表示是否显示命令行(相当于在dos窗口中显示命令),oN显示,oFF不显示;
  • (2) :: 代表注释语句;
  • (3) chcp 65001 设置当前dos窗口编码格式为utf-8;
  • (4) echo命令就是输出命令了,echo. 代表换行 echo后面跟文本,则就是在dos页面上输出这些文本;
  • (5) set “Ymd=%date:,4%%date:5,2%%date:~8,2%” 设置变量Ymd的值,%date:,4%表示将date的值从第1位开始截取,截取4位;%date:5,2%表示将date的值从第5位开始截取,截取2位;%date:~8,2%表示将date的值从第8位开始截取,截取2位;
  • (6)md “D:\mysql_backup” 创建文件夹;
  • (7)REM代表注释语句;
  • (8) mysqldump -uroot -proot --databases my_db –skip-add-locks > D:\mysql_backup\%Ymd%_my_db_bak.sql 表示导出数据库,输入用户名、密码、以及需要导出的数据库名称,导出到指定文件目录下,并命名。–skip-add-locks表示取消lock语句。%Ymd%表示引用Ymd属性;即用root/root账号密码将my_db数据库输出为.sql文件放到D:\mysql_backup\目录下,并将文件命名为年月日_my_db_bak.sql;
  • (9)forfiles /p D:\mysql_backup /s /m *bak.sql /d -3 /c "cmd /c del @path" 表示删除文件;/p表示用于搜索文件的目录,/s表示选中匹配的文件(相当于选定/m *bak.sql匹配的文件),/m *bak.sql表示匹配文件(以bak.sql结尾), /d -3表示三天以前的文件,/c “cmd /c del @path” 删除匹配到的文件;

2. 配置定时任务

详细配置图文见本博主文章“2.windows系统:定时任务关闭Java服务“;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值