1. 程式人生 > >【Windows】【MySQL】Windows下MySQL資料庫利用mysqldump定時備份並刪除N天前的備份資料

【Windows】【MySQL】Windows下MySQL資料庫利用mysqldump定時備份並刪除N天前的備份資料

1.新建.bat檔案

內容如下:

rem ******MySQL backup start********
@echo off
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"
if not exist "D:\backup\%Ymd%" md "D:\backup\%Ymd%"
forfiles /p "D:\backup" /d -7 /c "cmd /c del /f /q /a @path && rd /s /q @path"
F:\PhpStudy\PHPTutorial\MySQL\bin\mysqldump --opt -uroot -proot dbname> D:\backup\%Ymd%\dbname.sql
@echo on
rem ******MySQL backup end********

說明:

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%" -> 例:20180731
D:\backup\%Ymd% -> 備份檔案儲存位置,例:D:\backup\20180731
if not exist "D:\backup\%Ymd%" md "D:\backup\%Ymd%" -> 如果資料夾不存在則按日期新建資料夾
-7 -> 刪除幾天前的檔案
forfiles /p "D:\backup" /d -7 /c "cmd /c del /f /q /a @path && rd /s /q @path" -> 刪除“D:\backup”下7天前的資料夾及檔案
F:\PhpStudy\PHPTutorial\MySQL\bin\mysqldump -> mysqldump.exe所在路徑,不能包含空格
dbname -> 要備份的資料庫名稱
D:\backup\%Ymd%\dbname.sql -> 最終檔名,例:D:\backup\20180731\dbname.sql

2.建立定時任務

Windows Server 2008 R2:伺服器管理器——配置——任務計劃程式——建立基本任務;
Windows Server 2012 R2:伺服器管理器——工具——任務計劃程式——建立基本任務;
名稱、描述隨意,下一步;
每天,下一步;
開始時間隨意,每隔1天,下一步;
啟動程式,下一步;
選擇bat檔案位置,下一步;
完成。