windows下定時自動備份mysql數據庫,使用bat批處理文件加系統自帶任務計劃程序工具定時自動備份

目錄

一、本人搭建環境說明

二、普通備份方式:

1、編寫批處理文件(文件裏的註釋是用:rem XXX)

2、設置定時自動備份:

三、加強版,自動壓縮文件,並加密壓縮文件


 

一、本人搭建環境說明

操作系統:Windows  Server 2012 R2 Standard x64

數據庫版本:Mysql 5.7.26

 

二、普通備份方式:

1、編寫批處理文件(文件裏的註釋是用:rem XXX)

@echo off

rem 數據庫相關配置
set dbname=mydb
set host=127.0.0.1
set port=3306
set user=root
set pass=123456

rem 備份根路徑(會自動在此目錄下創建以數據庫名爲文件夾的目錄,備份文件會放在目錄下)
set basedir=D:\dbBack\mysql

rem 文件名相關配置,生成的備份文件名格式:mydb-yyyyMMddhhmmss.sql
set hour=%time:~0,2%
if "%time:~0,1%"==" " set hour=0%time:~1,1%
set now=%DATE:~3,4%%DATE:~8,2%%DATE:~11,2%%hour%%TIME:~3,2%%TIME:~6,2%
set backupfile=%basedir%\%dbname%\%dbname%-%now%.sql
if not exist %dbname% md %dbname%

rem mysql安裝的bin目錄,需要目錄下有“mysqldump.exe”文件
"C:\mysql\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%

將以上代碼直接複製到新建的文本文件,注意將後綴 .txt 修改爲 .bat

修改數據庫相關配置、備份根路徑和mysql安裝目錄,保存後直接雙擊運行測試執行

執行後會在備份根目錄下以數據庫名命名的目錄下生成備份文件。

 

2、設置定時自動備份:

打開服務器上的“服務器管理器 => 工具 => 任務計劃程序 => 創建基本任務”,見下圖:

輸入名稱:

設置任務定時觸發機制:

設置時間及間隔:

選擇“啓動程序”:

選擇剛纔創建的腳本,將腳本所在目錄填至“起始於”:

完成即可。

通過以上設置,即可在設置的觸發時間自動運行備份腳本,達到定時自動備份的目的。

 

三、加強版,自動壓縮文件,並加密壓縮文件

(使用bat調用WinRaR壓縮爲 .rar文件):

只需在以上bat文件後面加兩行壓縮及刪除.sql文件的代碼即可,完整代碼如下:

@echo off

rem 數據庫相關配置
set dbname=mydb
set host=127.0.0.1
set port=3306
set user=root
set pass=123456

rem 備份根路徑(會自動在此目錄下創建以數據庫名爲文件夾的目錄,備份文件會放在目錄下)
set basedir=C:\dbBack\

rem 文件名相關配置,生成的備份文件名格式:mydb-yyyyMMddhhmmss.sql
set hour=%time:~0,2%
if "%time:~0,1%"==" " set hour=0%time:~1,1%
set now=%DATE:~3,4%%DATE:~8,2%%DATE:~11,2%%hour%%TIME:~3,2%%TIME:~6,2%
set backupfile=%basedir%\%dbname%\%dbname%-%now%.sql
if not exist %dbname% md %dbname%

rem mysql安裝的bin目錄,需要目錄下有“mysqldump.exe”文件
"C:\mysql\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%
"C:\Program Files\WinRAR\WinRAR.exe" a -ibck -m5 -p123456 %basedir%\%dbname%\%dbname%-%now%.rar %basedir%\%dbname%\%dbname%-%now%.sql
Del %basedir%\%dbname%\%dbname%-%now%.sql

注意以上是使用的bat文件調用WinRAR命令壓縮的文件,系統需要安裝了 WinRAR壓縮工具,且上面的WinRAR路徑需正確。

其中的 -p123456爲設置壓縮包密碼,表示解壓密碼爲:123456

 

已知問題:

如果是在win10上或不同操作系統上,有可能文件名相關配置裏的時間會有偏離,我win10的機器使用如下代碼即可:

將 set now=XXX  這一行替換成:

set now=%date:~0,4%%date:~5,2%%date:~8,2%%hour%%time:~3,2%%time:~6,2%

 

 

 

 

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