Guest User

Untitled

a guest
Jan 24th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1. @echo off
  2. cls
  3.  
  4. :: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  5. :: CONFIGURATION - don't add spaces around equal signs
  6. :: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  7.  
  8. set PATH_TO_BACKUP_FOLDER=d:\git\sn-backups
  9. set MYSQL_DB_NAME=dspdb
  10. set MYSQL_DB_USER=root
  11. set MYSQL_DB_PASS=XXXXXXXX
  12. set PATH_TO_DEV_FOLDER=d:\git\SupernovaFFXI
  13. set PATH_TO_LIVE_SERVER=d:\live-server
  14. set SQLS_TO_AVOID=auction_house account char conquest_system delivery_box linkshells
  15. set PATH_TO_VS_IDE=d:\programs\Microsoft Visual Studio 14.0\Common7\IDE
  16.  
  17. :: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  18. :: DON'T TOUCH ANYTHING BELOW THIS LINE
  19. :: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  20.  
  21. :: ++++++++ MAKE SURE WE HAVE BACKUP FOLDER AND FILES +++++++++
  22. if not exist %PATH_TO_BACKUP_FOLDER% mkdir %PATH_TO_BACKUP_FOLDER%
  23. if not exist %PATH_TO_BACKUP_FOLDER%\log mkdir %PATH_TO_BACKUP_FOLDER%\log
  24. set runlog=%PATH_TO_BACKUP_FOLDER%\log\build-run.log
  25. set errlog=%PATH_TO_BACKUP_FOLDER%\log\build-err.log
  26. set lrfile=%PATH_TO_BACKUP_FOLDER%\log\build-lastrun.txt
  27. if not exist %lrfile% echo 01/01/1970 1>%lrfile%
  28. if not exist %PATH_TO_LIVE_SERVER% mkdir %PATH_TO_LIVE_SERVER%
  29.  
  30. :: +++++++++++++++++++++ CHECK FOR BACKUP +++++++++++++++++++++
  31. cd /d %PATH_TO_BACKUP_FOLDER%
  32. for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
  33. forfiles /M backup-%mydate%*.zip /c "cmd /c echo hi" 1>nul 2>nul
  34. if %errorlevel% == 1 (
  35. echo You have not created a backup today. You should do that before running this process.
  36. pause
  37. exit /b
  38. )
  39.  
  40. :: ++++++++++++++++++++++ BEGIN LOGGING +++++++++++++++++++++++
  41. echo BUILD.BAT working ...
  42. call :build > %runlog% 2>%errlog%
  43. goto :coda
  44.  
  45. :: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  46. :: BUILD SUBROUTINE
  47. :: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  48. :build
  49.  
  50. :: ++++++++++++++++++++ READ RUN DATE FILE ++++++++++++++++++++
  51. set /p lastrun=<%lrfile%
  52. echo Last run %lastrun%
  53. echo Current run %date:~4,10%
  54. echo Starting...
  55.  
  56. :: +++++++++++++++++ BUILD DATABASE FROM SQL ++++++++++++++++++
  57. setlocal enabledelayedexpansion
  58. cd /d %PATH_TO_DEV_FOLDER%\sql
  59. for %%f in (*.sql) do (
  60. set skip=0
  61. for %%w in (%SQLS_TO_AVOID%) do (
  62. set haystack=%%f
  63. set needle=%%w
  64. echo !haystack!|find "!needle!" >nul
  65. if !errorlevel! == 0 set skip=1
  66. )
  67. if !skip! == 1 (
  68. forfiles /M !haystack! /D +%lastrun% /c "cmd /c echo @fname needs to be updated" 2>&1 | find /v /i "ERROR: No files found with the specified search criteria."
  69. ) else (
  70. forfiles /M !haystack! /D +%lastrun% /c "cmd /c mysql %MYSQL_DB_NAME% -h localhost -u %MYSQL_DB_USER% -p%MYSQL_DB_PASS% < @FILE" 1>nul 2>&1 | find /v /i "ERROR: No files found with the specified search criteria."
  71. )
  72. )
  73.  
  74. :: ++++ COPY MODIFIED FILES FROM DEV FOLDER TO LIVE SERVER ++++
  75. xcopy %PATH_TO_DEV_FOLDER%\* %PATH_TO_LIVE_SERVER% /e /q /d
  76.  
  77. :: +++++++++++++++++ INCREMENTAL SERVER BUILD +++++++++++++++++
  78. "%PATH_TO_VS_IDE%\devenv" "%PATH_TO_LIVE_SERVER%\win32\darkstar.sln" /build
  79.  
  80. :: +++++++++++++++++++ WRITE RUN DATE FILE ++++++++++++++++++++
  81. echo %date:~4,10% 1>%lrfile%
  82. echo Done!
  83. exit /B
  84.  
  85. :: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  86. :: END OF FILE
  87. :: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  88. :coda
  89.  
  90. echo Done!
  91. pause
Add Comment
Please, Sign In to add comment