Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. @echo off
  2. REM MySQL Super Backup Script v1.0 - Created by @gkaratsiolis (kudoz @eziogas)
  3. REM fast & accurate MySQL backup script for tables and views. Supports compression out of the box.
  4. REM requires GOW - https://github.com/bmatzelle/gow/releases
  5.  
  6. set user=root
  7. set pass=""
  8. set database=backup
  9. set datestr=_%date:~10,4%-%date:~7,2%-%date:~4,2%_%time:~0,2%-%time:~3,2%
  10. set exclude=''
  11. set file=database
  12. set host="localhost"
  13. set port=3306
  14. set compress=yes
  15. set nodate=no
  16.  
  17. :initial
  18. if "%1"=="" goto done
  19. set aux=%1
  20. if "%aux:~0,1%"=="-" (
  21. set nome=%aux:~1,250%
  22. ) else (
  23. set "%nome%=%1"
  24. set nome=
  25. )
  26. shift
  27. goto initial
  28. :done
  29.  
  30. if "%nodate%"=="yes" set datestr=
  31.  
  32. set filename=%file%%datestr%.sql
  33. set filenamezip=%file%%datestr%.zip
  34.  
  35. set passoption=
  36. IF %pass% NEQ "" set passoption="--password=%pass%"
  37.  
  38. REM Generate Dump of VIEWS
  39. mysql --default-character-set=utf8 --host=%host% --port=%port% --user=%user% --password=%pass% -e"select concat('DROP VIEW IF EXISTS ',table_name,';') from information_schema.views WHERE TABLE_SCHEMA = '%database%'" > dumpviews.sql
  40. tail -n +2 dumpviews.sql > dumpviews.sql.tmp && mv dumpviews.sql.tmp dumpviews.sql
  41.  
  42. REM Generate Creation of VIEWS
  43. mysql --default-character-set=utf8 --host=%host% --port=%port% --user=%user% --password=%pass% -e"select concat('SHOW CREATE VIEW ',table_schema,'.',table_name,';') from information_schema.views WHERE TABLE_SCHEMA = '%database%'" | sed -e "s/\;/\\G/g" > createviews.sql
  44. tail -n +2 createviews.sql > createviews.sql.tmp && mv createviews.sql.tmp createviews.sql
  45. mysql --default-character-set=utf8 --host=%host% --port=%port% --user=%user% --password=%pass% < createviews.sql > views.sql
  46. sed -i "/^*/ d" views.sql
  47. sed -i "s/\(^.*\)\(CREATE.*\)/\2;/g" views.sql
  48. sed -ni "/CREATE/p" views.sql
  49. sed -i "s/DEFINER=[^[:space:]]\+ //" views.sql
  50. sed -i "s/`%database%`.//g" views.sql
  51. type views.sql >> dumpviews.sql
  52. mv dumpviews.sql views.sql
  53.  
  54. REM Generate Creation of TABLES
  55. mysql --default-character-set=utf8 --host=%host% --port=%port% --user=%user% --password=%pass% -e"SET group_concat_max_len = 10240; SELECT CONCAT('DUMPCOMMMAND ', GROUP_CONCAT(table_name separator ' ')) FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_schema='%database%' AND table_name NOT IN (%exclude%)" | sed -e "s/\;/\\G/g" > createdb.bat
  56. tail -n +2 createdb.bat > createdb.bat.tmp && mv createdb.bat.tmp createdb.bat
  57. sed -i "s/DUMPCOMMMAND/mysqldump --default-character-set=utf8 --host=%host% --port=%port% --extended-insert=FALSE --hex-blob --user=%user% %passoption% %database%/g" createdb.bat
  58. call createdb.bat > %filename%
  59. cat views.sql >> %filename%
  60.  
  61. if "%compress%"=="yes" (
  62. zip %filenamezip% %filename% > null
  63. rm %filename%
  64. echo %filenamezip%
  65. ) else (
  66. echo %filename%
  67. )
  68. rm createdb.bat
  69. rm views.sql
  70. rm createviews.sql
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement