@title MySQL backup start @echo off setlocal enabledelayedexpansion @color 0a :: --------------------參數設置------------------------ :: 設置時間變量 set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%" :: 要備份的數據庫名稱,多個用空格分隔 set DATABASES=database1 database2 :: HOST IP set HOST=127.0.0.1 :: PROT 端口 set PROT=3306 :: MySQL 用戶名 set USERNAME=root :: MySQL 密碼 set PASSWORD=123456 :: MySQL Bin 目錄,加 \ :: 如果可以直接使用 mysqldump(安裝時添加 MySQL Bin 目錄到了環境變量),此處留空即可 D:\Java\mysql\bin\ set MYSQL= :: WinRAR 自帶命令行工具的可執行文件路徑,長文件名注意用 Dos 長文件名書寫方式 set WINRAR=C:\Progra~1\WinRAR\Rar.exe :: 備份天數 set DT=30 :: 備份放置的盤,加 \ set BACKUP_PATH=D:\ :: 備份放置的路徑,加 \ set FILE=Backup\ :: --------------------開始備份------------------------ for %%D in (%DATABASES%) do ( if exist %BACKUP_PATH%%FILE%%%D ( echo 目錄%BACKUP_PATH%%FILE%%%D已存在,無需創建 ) else ( echo 創建%BACKUP_PATH%%FILE%%%D md %BACKUP_PATH%%FILE%%%D ) :: 刪除 forfiles /p "%BACKUP_PATH%%FILE%%%D" /m %%D_*.sql -d -%DT% /c "cmd /c del /f @path" cd %MYSQL% :: 備份 mysqldump --opt --single-transaction=TRUE --user=%USERNAME% --password=%PASSWORD% --host=%HOST% --protocol=tcp --port=%PROT% --default-character-set=utf8 --single-transaction=TRUE --routines --events "%%D" > %BACKUP_PATH%%FILE%%%D\%%D_%Ymd%.sql ) :: --------------------結束備份------------------------ @echo on
新建一個批處理文件,如:mysql_backup_tool.bat,文件內容如上:
創建Windows計划任務
開始菜單找到任務計划程序並打開。
創建任務
新建觸發器
新建操作
運行任務即可。
