Advertisement
Guest User

Untitled

a guest
Jan 3rd, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. @echo off
  2.  
  3. set dbUser=root
  4. set dbPassword=Z5nNgtWDA2MC
  5. set "backupDir=C:\Users\Administrator\Desktop\MySQLBackups\backupfiles\"
  6. set "mysqldump=C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump.exe"
  7. set "mysqlDataDir=C:\ProgramData\MySQL\MySQL Server 5.7\Data"
  8. set "zip=C:\Program Files\7-Zip\7z.exe"
  9.  
  10. rem The four lines below will give you reliable YY DD MM YYYY HH Min Sec MS variables in XP Pro and higher.
  11.  
  12. for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
  13. set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
  14. set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" & set "MS=%dt:~15,3%"
  15.  
  16. set "dirname=%YY%%MM%%DD%_%HH%%Min%"
  17.  
  18. echo "dirName"="%dirname%"
  19.  
  20.  
  21. :: switch to the "data" folder
  22. pushd "%mysqlDataDir%"
  23.  
  24. :: create backup folder if it doesn't exist
  25. if not exist "%backupDir%\%dirName%\" mkdir "%backupDir%\%dirName%"
  26.  
  27. :: iterate over the folder structure in the "data" folder to get the databases
  28.  
  29.  
  30.  
  31.  
  32. for /d %%f in (*) do (
  33. echo processing folder "%%f"
  34.  
  35. "%mysqldump%" --host="localhost" --user=%dbUser% --password=%dbPassword% --single-transaction --add-drop-table --databases %%f > "%backupDir%\%dirName%\%%~nxf.sql"
  36.  
  37. "%zip%" a -tgzip "%backupDir%\%dirName%\%%~nxf.sql.gz" "%backupDir%\%dirName%\%%~nxf.sql"
  38.  
  39. del "%backupDir%\%dirName%\%%~nxf.sql"
  40.  
  41. )
  42. popd
  43.  
  44.  
  45. ::keep 3 newest backup *.sql files
  46. for /f "skip=20 delims=" %%a in ('dir "%backupDir%\%dirName%\*.sql" /b /o-d /a-d') do echo del "%backupDir%\%dirName%\%%a"
  47. exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement