windows下利用bat脚本备份mysql和定期清理备份文件
来源:互联网 发布:c语言用什么编程软件好 编辑:程序博客网 时间:2024/05/22 10:39
本文实现的是利用mysqldump备份windows上面的mysql数据库,然后利用脚本清理上上个月的备份文件,保留上个月的备份文件
首先是数据库备份脚本backup.bat
@echo offC:\mysqldump.exe --user=root --password=4234432 gzblapp>D:\db_bak\superstardbbak\sqldata\%date%_gzblapp.sqlC:\mysqldump.exe --user=windows1 --password=34534553 resourcesharing>D:\db_bak\rsdbbak\sqldata\%date%_resourcesharing.sql@echo on
注意,备份脚本是调用c盘下面的mysqldump.exe来备份,大家根据安装mysql的路径去寻找mysqldump.exe,然后可以像我这样拷贝到c盘根目录下,方便后面使用cmd命令运行,上面备份路径的文件夹提前建好,我上面数据库的命令方式是根据日期加数据库名来命名的,大家根据各自数据库的不同情况来命名,注意我这里是要获取日期格式例如2017-08-09这样的,所以我首先是在装mysql的系统里面修改了时间格式为YYYY-MM-DD这样的,这是比较关键的
数据库清理的脚本clear.bat
@echo offset sqldir1="D:\db_bak\rsdbbak\sqldata"set sqldir2="D:\db_bak\superstardbbak\sqldata"set orgin_mon=%date:~5,2%set orgin_year=%date:~0,4%set d=%date:~8,2%set mon=%orgin_mon%set y=%orgin_year%::若是下一年的1、2月,则先加12,再在后面减去一个月和两个月的时间if %orgin_mon% lss 2 (set /a mon=%orgin_mon%+12 & set/a y=%orgin_year%-1)set monsago=1set twomonsago=2::分别计算前一个月和两个月前的日期,/a就是把字符串看作数字运算set /a m=%mon%-%monsago%set m2=%m%if %m% lss 10 (set m2=0%m%)::若月份是个位数,则在前面加0输出,因为做日期做运算的时候算出的结果是个位的时候是不会在前面带0的,::而日期后面匹配日期来删除文件的时候数据库文件中的日期字符串个位数是带0的,如2017-08-09,当8减去2的时候是等于6,所以必须凑0变成06set /a m1=%mon%-%twomonsago%set m3=%m1%set monsagofile1=%y%-%m2%-%d%_resourcesharing.sqlset twomonsagofile1=%y%-%m3%-%d%_resourcesharing.sqlset monsagofile2=%y%-%m2%-%d%_gzblapp.sqlset twomonsagofile2=%y%-%m3%-%d%_gzblapp.sqlecho %twomonsagofile2%::删除名为sqldir1路径上面备份数据库上上个月之前的所有备份文件for /f "delims=" %%i in ('dir/b/a-d %sqldir1% 2^>nul') do (if %%i geq %twomonsagofile1% (if %%i lss %monsagofile1% (del %sqldir1%\%%i /f /q)))::删除名为sqldir2路径上面备份数据库上上个月所有备份文件for /f "delims=" %%j in ('dir/b/a-d %sqldir2% 2^>nul') do (if %%j geq %twomonsagofile2% (if %%j lss %monsagofile2% (del %sqldir2%\%%j /f /q))):endecho 2秒后退出ping -n 2 127.0.0.1>nulpause
注意,我上面的备份脚本分别设定了两个数据库的备份,一个是resourcesharing,另一个是gzblapp,删除的是上上个月的数据库文件,例如今天是2017-11-15,那么就是删除2017-09-15和2017-10-15之间的数据库文件,然后设置了他们路径,所以下面清理脚本都是设定了两个清理过程,解释在上面脚本注释都写得很清楚了,不清除的在下面评论区问把
阅读全文
0 0
- windows下利用bat脚本备份mysql和定期清理备份文件
- 使用bat批处理方式定期备份和定期删除oracle备份文件
- mysql定期备份脚本
- MYSQL+BAT+定期自动备份
- windows下bat备份mysql
- Mysql备份以及定期清理备份
- 定期删除备份文件脚本
- windows下mysql自动定时备份bat
- windows下mysql备份脚本
- mysql备份bat备份脚本
- mysql备份bat备份脚本
- 利用windows批处理定期访问数据库远程备份文件【1】
- Linux平台和Windows平台下两种自动备份MySQL数据的脚本(Shell&Bat)和步骤
- 用python脚本定期备份文件
- windows平台mysql定时备份脚本(bat批处理)
- bat脚本方便备份文件
- Windows文件和文件夹定期清理
- Windows下自动备份mongodb的bat脚本
- 一款好的 离线API工具 包含前端后端移动 等等技术API
- css input[type=file] 样式美化(input上传文件样式 )
- learn opencv-Ubuntu(cuda)上安装深度学习框架
- Bug记录
- log4j的学习与使用
- windows下利用bat脚本备份mysql和定期清理备份文件
- 编程c++dll , DLL 的编写,导出函数 ,使用函数
- Android开发中常用的工具类整理
- 仿QQ未读消息
- React Native获取组件在屏幕上的绝对位置(包括自定义组件)
- 常见浏览器兼容性问题与解决方案
- PHP计算剩余时间的2种方法,返回距离现在时间的格式,如1秒前,1分前..
- js 外部控制器加过滤器
- 1008. 数组元素循环右移问题 (20)——C语言