數據庫每日備份、壓縮、重命名腳本

 一)功能描述

    每天將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腳本

 

之後依次按要求填寫任務起始和終止時間即可。

 

到此爲止已經大功告成了~

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