数据库每日备份、压缩、重命名脚本

 一)功能描述

    每天将mysql的ALLSqlLogFile和SlowSqlLogFile备份到D:\xampp\mysql\backup\sqllog,并以时间为后缀将2个文件夹压缩为一个,并将打印结果输出到D:\xampp\mysql\backup\sqllog\mysqlrotate.log

 

二)代码详解

 

  1. set RotateDir=D:\xampp\mysql\backup\sqllog  //定义备份路径
  2. set LogFile=D:\xampp\mysql\backup\sqllog\mysqlrotate.log  //定义打印文件夹
  3. set CurrentDate=%date:~0,4%%date:~5,2%%date:~8,2%   //定义当前时间(下面会提到时间的提取方法)
  4.  
  5. echo " " >> %LogFile%  //将每日操作打印到LogFile
  6. echo " " >> %LogFile% 
  7. echo "-------------------------------------------" >> %LogFile% 
  8. echo %date% %time% >> %LogFile% 
  9. echo "--------------------------" >> %LogFile% 
  10.  
  11. set AllSqlLogFile=D:\xampp\mysql\data\all.sql  //定义生成的ALLSqlLogFile路径
  12. set SlowSqlLogFile=D:\xampp\mysql\data\slow-query.log  //定义生成的SlowSqlLogFile路径
  13. move /y %AllSqlLogFile% %AllSqlLogFile%.%CurrentDate%  //以当天的时间,重命名各文件
  14. move /y %SlowSqlLogFile% %SlowSqlLogFile%.%CurrentDate% 
  15.  
  16. D:\xampp\mysql\bin\mysqladmin.exe -u (用户名) -p(密码) flush-logs  >> %LogFile%  //将mysql输出到LogFile
  17.  
  18. move /y %AllSqlLogFile%.%CurrentDate% D:\xampp\mysql\backup\sqllog\compression  //将这2个以时间为后缀,存入sqllog下的compression文件夹中(comression这个文件夹是
  19. move /y %SlowSqlLogFile%.%CurrentDate% D:\xampp\mysql\backup\sqllog\compression  我随便创建的,目的是用来将压缩好的东西剪切到上一级sqllog目录)
  20.  
  21. set path=c:\Windows;c:\program files\WinRAR  //定义压缩路径
  22. rar.exe a -ep1 -r -o+ -m5 -s -df "D:\xampp\mysql\backup\sqllog\backup.%CurrentDate%".rar "D:\xampp\mysql\backup\sqllog\compression\"  //执行压缩并剪切的工作

接下来,要讲一下,windows时间戳的获取方法:

首先在命令行输入date

 

我想得到的字符串是20130326,这里我就解释下前面提到的代码%date:~0,4%%date:~5,2%%date:~8,2%

%date:~0,4%:这里的"0"表示起始位置,想数组里的A[0],也就是第一个字符-2;4表示像后读取4位,就是2013

同理可得:%date:~5,2%==03 %date:~8,2%==26 。这三段字符串拼接起来就是我们需要的每日备份的文件后缀了。

三)创建批处理脚本

    将前面那段代码复制到一个新建记事本中,然后“文件”-“另存为”,后缀改成bat,放在桌面即可。

 

4)创建每日任务计划

    以Server03 sp1为例,点击“开始”-“程序”-“附件”-“系统工具”-“任务计划”,双击“添加任务计划”,点击“下一步”

 

点击“浏览”,在桌面找到刚才生成的bat脚本

 

之后依次按要求填写任务起始和终止时间即可。

 

到此为止已经大功告成了~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章