自动化部署脚本之windows上执行批处理文件

windows  .bat  批处理

脚本路径如下:

install-simo.bat文件内容:

@ECHO OFF

set scriptpath=%~dp0
set logfile=%scriptpath%install-log.txt
type license.txt | more
:license-check
echo Did you agree with this license(Y/N) :
set/p "cho=>"
if %cho%==Y goto start
if %cho%==y goto start
if %cho%==N call:notagree
if %cho%==n call:notagree
goto license-check

:notagree
echo "you do not agree with license install will exit now!"
pause
exit 1
goto:eof

:start
echo "Start to install SIMO........" >> %logfile%
echo %scriptpath%

call:install-redis
call:install-activemq
call:init-database
ping -n 120 127.0.0.1>nul
call:run-simo




echo  simo install finish..................
pause

exit 0

:install-jdk
mkdir %scriptpath%java\jdk1.8
call %scriptpath%install-java.bat %scriptpath%
echo install-jdk finish
goto:eof

:install-redis
start cmd /k %scriptpath%redis\redis-server.exe %scriptpath%redis\redis.windows.conf
echo install-redis finish

goto:eof

:install-activemq
start cmd /k %scriptpath%activemq\bin\win64\activemq.bat
echo install-activemq finish

goto:eof

:install-database
echo install-database finish
rem 判断windows/system32下是否有对应的mscrv120.dll文件

goto:eof#运行完后 CMD 返回并等待下一条命令

:init-database
start cmd /k %scriptpath%init-postgres.bat %scriptpath%
echo init-database finish

goto:eof

:run-simo
start %scriptpath%simo-init.bat %scriptpath%
echo run-simo finish

goto:eof

 

simo-init.bat脚本如下:

 

@ECHO OFF

rem unzip simo.zip
call %17z\7z.exe x %1\simo\simo.zip -o%1simo\
xcopy /Y %1simo\application.properties %1simo\simo\scripts\
cd %1simo\simo\scripts\
rem enable\disable servicecenter
start /b %1simo\simo\scripts\runmodule.bat simo-servicecenter
ping -n 10 127.0.0.1>nul
rem enable\disable mc
start /b %1simo\simo\scripts\runmodule.bat simo-mc
ping -n 10 127.0.0.1>nul
rem enable\disable collector
start /b %1simo\simo\scripts\runmodule.bat simo-collector
ping -n 10 127.0.0.1>nul
rem enable\disable business
start /b %1simo\simo\scripts\runmodule.bat simo-business
ping -n 10 127.0.0.1>nul
rem enable\disable itsm
start /b %1simo\simo\scripts\runmodule.bat simo-itsm
ping -n 10 127.0.0.1>nul
rem enable\disable cmdb
start /b %1simo\simo\scripts\runmodule.bat simo-cmdb
ping -n 10 127.0.0.1>nul
rem enable\disable workflow
start /b %1simo\simo\scripts\runmodule.bat simo-workflow
ping -n 10 127.0.0.1>nul
rem enable\disable knowledgebase
start /b %1simo\simo\scripts\runmodule.bat simo-knowledgebase


run-simo.bat脚本如下:

 

@ECHO OFF
echo **********************************************
echo.
echo     start to run simo
echo.
echo.
echo **********************************************
set scriptpath=%~dp0

ping -n 10 127.0.0.1>nul
call:start-redis
ping -n 10 127.0.0.1>nul
call:start-activemq
ping -n 10 127.0.0.1>nul
call:start-database
ping -n 10 127.0.0.1>nul

cd %scriptpath%simo\simo\scripts\
rem enable\disable servicecenter
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-servicecenter
ping -n 10 127.0.0.1>nul
rem enable\disable mc
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-mc
ping -n 10 127.0.0.1>nul
rem enable\disable collector
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-collector
ping -n 10 127.0.0.1>nul
rem enable\disable business
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-business
ping -n 10 127.0.0.1>nul
rem enable\disable itsm
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-itsm
ping -n 10 127.0.0.1>nul
rem enable\disable cmdb
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-cmdb
ping -n 10 127.0.0.1>nul
rem enable\disable workflow
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-workflow
ping -n 10 127.0.0.1>nul
rem enable\disable knowledgebase
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-knowledgebase

cd %scriptpath%
echo "DO NOT colse the window!"
cmd /k echo.

:start-redis
start cmd /k %scriptpath%redis\redis-server.exe %scriptpath%redis\redis.windows.conf
echo start-redis finish

goto:eof

:start-activemq
start cmd /k %scriptpath%activemq\bin\win64\activemq.bat
echo start-activemq finish

goto:eof

:start-database
start cmd /k %scriptpath%pgsql\bin\pg_ctl.exe -D "%scriptpath%data" -l logfile start
echo start-database finish
goto:eof

init-postgres.bat  脚本如下:

@ECHO OFF
echo "Start to install postgres........"
rem 检查系统依赖dll
if not exist C:\Windows\System32\msvcr120.dll xcopy /Y %1msvcr120\System32\msvcr120.dll C:\Windows\System32\
echo 检查系统依赖dll完成
rem 修改数据文件夹权限
echo Y|cacls %1data /c /p everyone:f
ping -n 5 127.0.0.1>nul
echo 修改数据文件夹权限
call %1pgsql\bin\initdb.exe -D %1data -E UTF-8 --locale=chs -U uxsino --pwfile=%1postgresconfig\password.txt
ping -n 10 127.0.0.1>nul
rem 修改配置文件
xcopy /EY %1postgresconfig\* %1data
ping -n 5 127.0.0.1>nul
echo config need comfirm
call "pgsql\bin\pg_ctl" -D "%1data" -l logfile start
ping -n 10 127.0.0.1>nul
call %1pgsql\bin\createdb.exe -U uxsino simo_dev
ping -n 10 127.0.0.1>nul
echo database init finish
cmd /k echo.

 

intall-java.bat  脚本如下:

 

@ECHO OFF
echo **********************************************
echo.
echo     start to install jdk
echo.
echo.
echo **********************************************
set scriptpath=%~dp0
set logfile=%scriptpath%install-log.txt
echo.
echo installing.......jdk, do not close this windows
echo.
echo please wait about 3/4 mins until install finish
echo.
echo start to install jdk > %logfile%
start /WAIT %scriptpath%java\jdk-8u152-windows-x64.exe /qn INSTALLDIR=%scriptpath%java\jdk1.8
echo install finish start to config java
echo install finish start to config java >> %logfile%
echo.
set JAVA_HOME=%scriptpath%java\jdk1.8
setx Path "%Path%;%JAVA_HOME%\bin" /M
ping -n 30 127.0.0.1>nul
echo install finish and config finish.
echo you can close this window start to install simo
echo java install finish >> %logfile%
cmd /k echo.

run-simo.bat  脚本如下:

 

 

@ECHO OFF
echo **********************************************
echo.
echo     start to run simo
echo.
echo.
echo **********************************************
set scriptpath=%~dp0

ping -n 10 127.0.0.1>nul
call:start-redis
ping -n 10 127.0.0.1>nul
call:start-activemq
ping -n 10 127.0.0.1>nul
call:start-database
ping -n 10 127.0.0.1>nul

cd %scriptpath%simo\simo\scripts\
rem enable\disable servicecenter
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-servicecenter
ping -n 10 127.0.0.1>nul
rem enable\disable mc
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-mc
ping -n 10 127.0.0.1>nul
rem enable\disable collector
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-collector
ping -n 10 127.0.0.1>nul
rem enable\disable business
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-business
ping -n 10 127.0.0.1>nul
rem enable\disable itsm
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-itsm
ping -n 10 127.0.0.1>nul
rem enable\disable cmdb
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-cmdb
ping -n 10 127.0.0.1>nul
rem enable\disable workflow
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-workflow
ping -n 10 127.0.0.1>nul
rem enable\disable knowledgebase
start /b %scriptpath%simo\simo\scripts\runmodule.bat simo-knowledgebase

cd %scriptpath%
echo "DO NOT colse the window!"
cmd /k echo.

:start-redis
start cmd /k %scriptpath%redis\redis-server.exe %scriptpath%redis\redis.windows.conf
echo start-redis finish

goto:eof

:start-activemq
start cmd /k %scriptpath%activemq\bin\win64\activemq.bat
echo start-activemq finish

goto:eof

:start-database
start cmd /k %scriptpath%pgsql\bin\pg_ctl.exe -D "%scriptpath%data" -l logfile start
echo start-database finish
goto:eof

 

posted @ 2018-07-02 16:15  定静沉行  阅读(994)  评论(0编辑  收藏  举报