Make sure mysqldump is set in the environment or use the full path to the program.
@echo off
SET MYSQL_USER=root
SET MYSQL_PASS=yourpassword
SET MYSQL_HOST=localhost
SET WINRAR_PATH="C:\Program Files\WinRAR\WinRAR.exe"
REM Get current date components
FOR /F "tokens=2-4 delims=/ " %%A IN ('date /t') DO (
SET MONTH=%%A
SET DAY=%%B
SET YEAR=%%C
)
REM List of databases to export
SET DATABASES=database1 database2 database3
REM Loop through each database, create a backup, and compress it with WinRAR
for %%D in (%DATABASES%) do (
echo Exporting database %%D...
mysqldump -u %MYSQL_USER% -p%MYSQL_PASS% -h %MYSQL_HOST% %%D > %%D_backup_%MONTH%_%DAY%_%YEAR%.sql
echo Compressing %%D_backup_%MONTH%_%DAY%_%YEAR%.sql...
%WINRAR_PATH% a -r %%D_backup_%MONTH%_%DAY%_%YEAR%.rar %%D_backup_%MONTH%_%DAY%_%YEAR%.sql
echo Cleaning up raw SQL file...
del %%D_backup_%MONTH%_%DAY%_%YEAR%.sql
)
echo Done! Each database backup is compressed into a WinRAR archive.