Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :main
- cls
- @echo off
- if "%cmode%" == "n" (color 7) else (color 17)
- set ask=1
- echo #############################################################################
- echo ### MySQL Utility ###
- echo #############################################################################
- echo #############################################################################
- echo ### ###
- echo ### ###
- echo ### Tools: ###
- echo ### ###
- echo ### (1) Backup Utility ###
- echo ### ###
- echo ### (2) Restore Utility ###
- echo ### ###
- echo ### (3) Quit ###
- echo ### ###
- echo ### ###
- echo #############################################################################
- set /P ask="Choose a utility (default is '%ask%') : "
- if /i %ask%==1 goto mainback
- if /i %ask%==2 goto mainrest
- if /i %ask%==3 goto end
- :mainback
- cls
- title MySQL Backup Utility
- echo #############################################################################
- echo ### MySQL Backup Tool ###
- echo #############################################################################
- :configback
- echo #############################################################################
- echo ### Loading Configuration ###
- echo ### ###
- set mysqlbinpath=%ProgramFiles%\MySQL\MySQL Server 5.1\bin
- set user=root
- set pass=
- set host=localhost
- set db=cm
- set port=3306
- set cmode=c
- set mysqldumppath=
- set mysqlpath=
- set backup=
- set cmdline=
- set ask=
- set routines=yes
- set trigger=yes
- set events=yes
- set cins=no
- echo ### Checking for MySQL in PATH variable ###
- path|find "MySQL">NUL
- if %errorlevel% == 0 (
- echo ### MySQL found in PATH variable ###
- set mysqlbinpath=use path
- ) else (
- echo ### MySQL NOT found in PATH variable please insert bin path ###
- set /P mysqlbinpath="(default '%mysqlbinpath%' , no '\' needed!) : class="re0">"
- )
- if not "%mysqlbinpath%" == "use path" call :binaryfind
- :connset
- if "%cmode%" == "n" (color 7) else (color 17)
- cls
- echo #############################################################################
- echo ### Connection Settings ###
- echo #############################################################################
- set /P user="MySQL Username (default is '%user%') : "
- set /P pass="MySQL Password (default is '%pass%') : "
- set /P db="MySQL Database (default is '%db%' , use 'all' for all databases) : "
- set /P host="MySQL Host (default is '%host%') : "
- set /P port="MySQL Port (default is '%port%') : "
- echo #############################################################################
- echo ### Misc. Settings ###
- echo #############################################################################
- set /P cmode="Color mode (c)olor or (n)on-color, default is '%cmode%' : "
- set /P backup="Path for your backups (default is '%backup%' , with '\' at the end!) : class="re0">"
- set /P cins="Do you wish to have complete insert statements (default is '%cins%') : "
- set /P routines="Do you wish to include stored procedures and functions (default is '%routines%') : "
- set /P trigger="Do you wish to include triggers (default is '%trigger%') : "
- set /P events="Do you wish to include events (default is '%trigger%') : "
- :backup
- if "%cmode%" == "n" (color 7) else (color 17)
- if "%mysqlbinpath%" == "use path" (
- set mysqlbinpath=
- set mysqldumppath=mysqldump
- set mysqlpath=mysql
- ) else (
- set mysqldumppath=%mysqlbinpath%\mysqldump.exe
- set mysqlpath=%mysqlpath%\mysql.exe
- )
- set cmdline=%mysqldumppath% -h %host% --port=%port% -u %user% --password=%pass%
- if "%cins%" == "yes" (set cmdline=%cmdline% --complete-insert)
- if "%routines%" == "yes" (set cmdline=%cmdline% --routines)
- if "%trigger%" == "yes" (set cmdline=%cmdline% --triggers)
- if "%events%" == "yes" (set cmdline=%cmdline% --events)
- if "%db%" == "all" (set cmdline=%cmdline% --all-databases ^>"%backup%%db%_backup.sql" 2^>NUL
- ) else (
- set cmdline=%cmdline% %db% ^>"%backup%%db%_backup.sql" 2^>NUL)
- cls
- echo #############################################################################
- echo ### Trying to make a backup ###
- echo #############################################################################
- %cmdline%
- if %ERRORLEVEL% == 0 goto backupok
- :backupfail
- cls
- if "%cmode%" == "n" (color 7) else (color 47)
- title !!! BACKUP FAILED !!!
- set ask=y
- del %db%_backup.sql
- echo #############################################################################
- echo ### Backup Failed ###
- echo #############################################################################
- echo ### ATTEMPT TO BACKUP DATABASE AGAIN? ###
- echo ### ###
- echo ### (y)es ###
- echo ### ###
- echo ### (n)o ###
- echo ### ###
- echo ### (r)econfigure ###
- echo ### ###
- echo ### (q)uit ###
- echo ### ###
- echo #############################################################################
- set /P ask= Choose (default is '%ask%') :
- color 17
- if /i %ask%==y goto backup
- if /i %ask%==n goto main
- if /i %ask%==r goto connset
- if /i %ask%==q goto end
- goto backupfail
- :backupok
- if "%cmode%" == "n" (color 7) else (color 17)
- set ask=q
- cls
- echo #############################################################################
- echo ### Backup Completed ###
- echo #############################################################################
- echo ### What will you do now? ###
- echo ### ###
- echo ### (m)ain Menu ###
- echo ### ###
- echo ### (r)econfigure backup ###
- echo ### ###
- echo ### (q)uit ###
- echo ### ###
- echo #############################################################################
- set /P ask= Choose (default is '%ask%') :
- if /i %ask%==m goto main
- if /i %ask%==r goto connset
- if /i %ask%==q goto end
- goto backupok
- :end
- if "%cmode%" == "n" (color 7) else (color 17)
- cls
- echo #############################################################################
- echo ### MySQL Backup Utlity ###
- echo #############################################################################
- echo ### ###
- echo ### ###
- echo ### ###
- echo ### ###
- echo ### ###
- echo ### Please come again! ###
- echo ### ###
- echo ### ###
- echo ### ###
- echo ### ###
- echo ### ###
- echo ### ###
- echo #############################################################################
- pause
- exit
- :mainrest
- echo #############################################################################
- echo ### MySQL Restore Utlity ###
- echo #############################################################################
- :configrest
- echo #############################################################################
- echo ### Loading Configuration ###
- echo ### ###
- set mysqlbinpath=%ProgramFiles%\MySQL\MySQL Server 5.1\bin
- set user=root
- set pass=
- set host=localhost
- set db=mysql
- set port=3306
- set cmode=c
- set mysqldumppath=
- set mysqlpath=
- set restore=
- set cmdline=
- set ask=
- echo ### Checking for MySQL in PATH variable ###
- path|find "MySQL">NUL
- if %errorlevel% == 0 (
- echo ### MySQL found in PATH variable ###
- set mysqlbinpath=use path
- ) else (
- echo ### MySQL NOT found in PATH variable please insert bin path ###
- set /P mysqlbinpath="(default '%mysqlbinpath%' , no '\' needed!) : class="re0">"
- )
- if not "%mysqlbinpath%" == "use path" call :binaryfind
- :connsetrest
- if "%cmode%" == "n" (color 7) else (color 17)
- cls
- echo #############################################################################
- echo ### Connection Settings ###
- echo #############################################################################
- set /P user="MySQL Username (default is '%user%') : "
- set /P pass="MySQL Password (default is '%pass%') : "
- set /P db="MySQL Database (default is '%db%') : "
- set /P host="MySQL Host (default is '%host%') : "
- set /P port="MySQL Port (default is '%port%') : "
- set restore=%db%_backup.sql
- echo #############################################################################
- echo ### Misc. Settings ###
- echo #############################################################################
- set /P cmode="Color mode (c)olor or (n)on-color, default is '%cmode%' : "
- set /P restore="Path to your backup file (default is '%restore%' , with '.sql' at the end!) : class="re0">"
- :restore
- if "%cmode%" == "n" (color 7) else (color 17)
- if "%mysqlbinpath%" == "use path" (
- set mysqlbinpath=
- set mysqldumppath=mysqldump
- set mysqlpath=mysql
- ) else (
- set mysqldumppath=%mysqlbinpath%\mysqldump.exe
- set mysqlpath=%mysqlpath%\mysql.exe
- )
- set cmdline=%mysqlpath% -h %host% --port=%port% -u %user% --password=%pass% %db% ^< %restore% 2^> NUL
- cls
- echo #############################################################################
- echo ### Trying to restore the backup ###
- echo #############################################################################
- %cmdline%
- if %ERRORLEVEL% == 0 goto restoreok
- goto restorefail
- :restorefail
- cls
- if "%cmode%" == "n" (color 7) else (color 47)
- title !!! RESTORE FAILED !!!
- set ask=y
- echo #############################################################################
- echo ### Restore Failed ###
- echo #############################################################################
- echo ### ATTEMPT TO RESTORE DATABASE AGAIN? ###
- echo ### ###
- echo ### (y)es ###
- echo ### ###
- echo ### (n)o ###
- echo ### ###
- echo ### (r)econfigure ###
- echo ### ###
- echo ### (q)uit ###
- echo ### ###
- echo #############################################################################
- set /P ask= Choose (default is '%ask%') :
- if /i %ask%==y goto restore
- if /i %ask%==n goto main
- if /i %ask%==r goto connsetrest
- if /i %ask%==q goto end
- goto backupfail
- :restoreok
- if "%cmode%" == "n" (color 7) else (color 17)
- set ask=d
- cls
- echo #############################################################################
- echo ### Restore Completed ###
- echo #############################################################################
- echo ### What will you do now? ###
- echo ### ###
- echo ### (d)elete and quit ###
- echo ### ###
- echo ### (m)ain Menu ###
- echo ### ###
- echo ### (r)econfigure restore ###
- echo ### ###
- echo ### (q)uit ###
- echo ### ###
- echo #############################################################################
- set /P ask= Choose (default is '%ask%') :
- if /i %ask%==d goto delend
- if /i %ask%==m goto main
- if /i %ask%==r goto connsetrest
- if /i %ask%==q goto end
- goto restoreok
- :delend
- del %restore%
- goto end
- :binaryfind
- if EXIST "%mysqlbinpath%" (echo Found) else (echo Not Found)
- goto :eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement