From 85271d93c28cb653bf4b314a7af5e44b2880eb2d Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 08 五月 2025 10:43:13 +0800 Subject: [PATCH] 数据库备份记录 --- ltkj-admin/src/main/resources/数据库备份/ltkjmysql_backup-7z.bat | 43 +++++++++++++++++++++ ltkj-admin/src/main/resources/数据库备份/说明.txt | 4 ++ ltkj-admin/src/main/resources/数据库备份/ltkjmysql_backup.bat | 45 ++++++++++++++++++++++ ltkj-admin/src/main/resources/数据库备份/7z2409-x64.exe | 0 4 files changed, 92 insertions(+), 0 deletions(-) diff --git "a/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/7z2409-x64.exe" "b/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/7z2409-x64.exe" new file mode 100644 index 0000000..d33515b --- /dev/null +++ "b/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/7z2409-x64.exe" Binary files differ diff --git "a/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/ltkjmysql_backup-7z.bat" "b/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/ltkjmysql_backup-7z.bat" new file mode 100644 index 0000000..01292c6 --- /dev/null +++ "b/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/ltkjmysql_backup-7z.bat" @@ -0,0 +1,43 @@ +锘緻echo off +setlocal enabledelayedexpansion + +:: 鑾峰彇褰撳墠鏃ユ湡鏃堕棿浣滀负鏃堕棿鎴筹紙骞存湀鏃鏃跺垎绉掞級 +for /f %%i in ('wmic os get localdatetime ^| find "."') do set DT=%%i +set DATE=%DT:~0,8% +set TIME=%DT:~8,6% +set DATETIME=%DATE%_%TIME% + +:: 璁剧疆鍙橀噺 +set BACKUP_DIR=C:\Program Files\MySQL\database_backups +set MYSQL_BIN=C:\Program Files\MySQL\MySQL Server 8.0\bin +set MYSQL_USER=root +set MYSQL_PASSWORD=Root_ltkj123 +set SEVENZIP="C:\Program Files\7-Zip\7z.exe" + +:: 鍒涘缓澶囦唤鐩綍 +if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%" + +:: 閬嶅巻鏁版嵁搴擄紙鎺掗櫎鍖呭惈 test 鐨勶級 +for /F "skip=1 delims=" %%D in ('""%MYSQL_BIN%\mysql.exe" -u%MYSQL_USER% -p%MYSQL_PASSWORD% -e "SHOW DATABASES LIKE 'ltkjpeis%%';" -s -N"') do ( + echo %%D | find /I "test" >nul + if errorlevel 1 ( + set DB_NAME=%%D + echo Backing up !DB_NAME!... + + :: 鐢熸垚 SQL 鏂囦欢 + "%MYSQL_BIN%\mysqldump.exe" -u%MYSQL_USER% -p%MYSQL_PASSWORD% --routines --triggers --events !DB_NAME! > "%BACKUP_DIR%\!DB_NAME!_%DATETIME%.sql" + + :: 浣跨敤 7-Zip 鍘嬬缉 SQL 鏂囦欢涓� ZIP + %SEVENZIP% a -tzip "%BACKUP_DIR%\!DB_NAME!_%DATETIME%.zip" "%BACKUP_DIR%\!DB_NAME!_%DATETIME%.sql" + + :: 鍒犻櫎鍘熷 SQL 鏂囦欢 + del /F /Q "%BACKUP_DIR%\!DB_NAME!_%DATETIME%.sql" + ) else ( + echo Skipping database: %%D (contains "test") + ) +) + +:: 鍒犻櫎瓒呰繃 3 澶╃殑 ZIP 鏂囦欢 +forfiles /p "%BACKUP_DIR%" /m *.zip /d -3 /c "cmd /c del /F /Q @path" + +echo Backup complete. ZIP files saved in %BACKUP_DIR%. diff --git "a/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/ltkjmysql_backup.bat" "b/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/ltkjmysql_backup.bat" new file mode 100644 index 0000000..cc5d36d --- /dev/null +++ "b/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/ltkjmysql_backup.bat" @@ -0,0 +1,45 @@ +锘緻echo off +setlocal enabledelayedexpansion + +:: 鑾峰彇褰撳墠鏃ユ湡鏃堕棿浣滀负鏃堕棿鎴筹紙骞存湀鏃鏃跺垎绉掞級 +for /f %%i in ('wmic os get localdatetime ^| find "."') do set DT=%%i +set DATE=%DT:~0,8% +set TIME=%DT:~8,6% +set DATETIME=%DATE%_%TIME% + +:: 璁剧疆鍙橀噺 +set BACKUP_DIR=C:\Program Files\MySQL\database_backups +set MYSQL_BIN=C:\Program Files\MySQL\MySQL Server 8.0\bin +set MYSQL_USER=root +set MYSQL_PASSWORD=Root_ltkj123 + +:: 鍒涘缓澶囦唤鐩綍 +if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%" + +:: 閬嶅巻鏁版嵁搴擄紙鎺掗櫎鍖呭惈 test 鐨勶級 +for /F "skip=1 delims=" %%D in ('""%MYSQL_BIN%\mysql.exe" -u%MYSQL_USER% -p%MYSQL_PASSWORD% -e "SHOW DATABASES LIKE 'ltkjpeis%%';" -s -N"') do ( + echo %%D | find /I "test" >nul + if errorlevel 1 ( + set DB_NAME=%%D + echo Backing up !DB_NAME!... + + :: 鐢熸垚 SQL 鏂囦欢 + "%MYSQL_BIN%\mysqldump.exe" -u%MYSQL_USER% -p%MYSQL_PASSWORD% --routines --triggers --events !DB_NAME! > "%BACKUP_DIR%\!DB_NAME!_%DATETIME%.sql" + + :: 鍘嬬缉涓� ZIP锛堥渶瑕� PowerShell 5.0+锛� + powershell -NoProfile -ExecutionPolicy Bypass -Command ^ + "Compress-Archive -Path '%BACKUP_DIR%\!DB_NAME!_%DATETIME%.sql' -DestinationPath '%BACKUP_DIR%\!DB_NAME!_%DATETIME%.zip'" + + :: 鍒犻櫎鍘熷 SQL 鏂囦欢 + del /F /Q "%BACKUP_DIR%\!DB_NAME!_%DATETIME%.sql" + ) else ( + echo Skipping database: %%D (contains "test") + ) +) + +:: 鍒犻櫎瓒呰繃 3 澶╃殑 ZIP 鏂囦欢 +powershell -NoProfile -ExecutionPolicy Bypass -Command ^ +"Get-ChildItem -Path \"%BACKUP_DIR%\" -Filter *.zip ^| Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-3) } ^| Remove-Item -Force" + +echo Backup complete. ZIP files saved in %BACKUP_DIR%. + diff --git "a/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/\350\257\264\346\230\216.txt" "b/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/\350\257\264\346\230\216.txt" new file mode 100644 index 0000000..97b869b --- /dev/null +++ "b/ltkj-admin/src/main/resources/\346\225\260\346\215\256\345\272\223\345\244\207\344\273\275/\350\257\264\346\230\216.txt" @@ -0,0 +1,4 @@ +浣跨敤CMD鍛戒护鏌ョ湅PowerShell鐗堟湰 +powershell $PSVersionTable.PSVersion +澶т簬5鐗堟湰浣跨敤ltkjmysql_backup.bat +灏忎簬5鐗堟湰浣跨敤ltkjmysql_backup-7z.bat 浣跨敤瀹夎鍖呮垨涓嬭浇 https://www.7-zip.org/ -- Gitblit v1.8.0