Windows批处理备份mysql

服务器使用windows2008rc,用批处理写一个mysql的备份脚本,放到Windows计划任务,每天零时执行。

  • 使用mysql自带的 mysqldump 命令备份整个数据库
  • 使用好压的命令行压缩
  • 保留一周备份文件
  • 写入日志

详细代码如下:

@echo off
set "ymd=%date:~,4%%date:~5,2%%date:~8,2%"
set storeDir="F:\databases\%ymd%"
set /A keepFromDay=%ymd%-7

md %storeDir% 2>nul
"E:\xampp\mysql\bin\mysqldump.exe"  -u用户名 -p密码 --lock-tables   --all-databases > %storeDir%\db.sql 2>nul
echo Haozip loading...
cd /d %storeDir%

"C:\Program Files\HaoZip\HaoZipC.exe" a -tzip db.sql.zip db.sql
del /q db.sql

rem del 7 days backup files
@echo off

for /f %%i in ('dir /b ..\') do (
   if %%i LSS %keepFromDay%   (
    echo deleting %%i 
    rd /s /q "F:\databases\%%i" 
   )    
)

echo Finish at  %date% %time%  >> ../backup.log