Windows批處理方式實現MySQL定期自動備份多個數據庫


@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計划任務

開始菜單找到任務計划程序並打開。

創建任務

新建觸發器

新建操作

運行任務即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM