Windows圧縮バックアップMySQLデータベース

2599 ワード

卵を一つのかごに入れないという考えに基づいて、私は遠隔でデータのバックアップをして、現地でまたバックアップをしました.
@echo off
set hour=%time:~,2%
if "%time:~,1%"==" " set hour=0%time:~1,1%

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%hour%%time:~3,2%%time:~6,2%"
D:\java_workspace\mysql-5.7.28\bin\mysqldump --opt -u username --password=xxx -h  IP database > D:\java_workspace\db.bak\backup_database_%Ymd%.sql
"D:\software\7-Zip\7z.exe" a "D:\java_workspace\db.bak\backup_database_%Ymd%.sql.zip" "D:\java_workspace\db.bak\backup_database_%Ymd%.sql"
del /F "D:\java_workspace\db.bak\backup_database_%Ymd%.sql"
forfiles /p "D:\java_workspace\db.bak"  /s /m *.zip /d -30 /c "cmd /c del @path" > del_bak.log
@echo on

次の行の具体的なスクリプトは、リモート・データベースをDディスクのdbにバックアップすることを意味する.bakフォルダの下にbackup_database_20200112030000.sqlの形式で出力
D:\java_workspace\mysql-5.7.28\bin\mysqldump --opt -u username --password=xxx -h  IP database > D:\java_workspace\db.bak\backup_database_%Ymd%.sql

そして.sqlファイルを圧縮
"D:\software\7-Zip\7z.exe" a "D:\java_workspace\db.bak\backup_database_%Ymd%.sql.zip" "D:\java_workspace\db.bak\backup_database_%Ymd%.sql"
.sqlファイルを削除します
del /F "D:\java_workspace\db.bak\backup_database_%Ymd%.sql"

最後に30日前のファイルを削除
forfiles /p "D:\java_workspace\db.bak"  /s /m *.zip /d -30 /c "cmd /c del @path" > del_bak.log

OK、スクリプトが作成されました.その後、Windowsのスケジュールタスクを使用して、バックアップ計画を追加すればいいです.