Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qa-deploy-utils
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
qa-deploy-utils
Commits
5b340bd4
Commit
5b340bd4
authored
Aug 15, 2017
by
tywldx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
restart
parent
09fdeeb5
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
123 additions
and
120 deletions
+123
-120
5_restart_by_type.sh
qa_shell_script/5_restart_by_type.sh
+123
-120
No files found.
qa_shell_script/5_restart_by_type.sh
View file @
5b340bd4
...
@@ -7,13 +7,13 @@ config_shell_path="$pwd_path"
...
@@ -7,13 +7,13 @@ config_shell_path="$pwd_path"
config_server
=
"
$pwd_path
/config_server"
config_server
=
"
$pwd_path
/config_server"
project_path
=
`
cat
$config_server
/project_path.sh
`
project_path
=
`
cat
$config_server
/project_path.sh
`
config_path
=
`
cat
$config_server
/config_path.sh
`
config_path
=
`
cat
$config_server
/config_path.sh
`
node4_path
=
`
cat
$config_server
/node_4_path.sh
`
#
node4_path=`cat $config_server/node_4_path.sh`
node7_path
=
`
cat
$config_server
/node_7_path.sh
`
#
node7_path=`cat $config_server/node_7_path.sh`
profile
=
test
#
profile=test
max_wait_log_generate_time
=
50
#
max_wait_log_generate_time=50
max_wait_ack_time
=
500
#
max_wait_ack_time=500
ack_phrase
=
"Started
\
Bootstrap"
#
ack_phrase="Started\ Bootstrap"
time
=
`
date
+%Y_%m_%d_%H_%M_%S
`
#
time=`date +%Y_%m_%d_%H_%M_%S`
function
restartJavaProject
()
function
restartJavaProject
()
{
{
...
@@ -21,41 +21,42 @@ function restartJavaProject()
...
@@ -21,41 +21,42 @@ function restartJavaProject()
echo
${
projects
[@]
}
echo
${
projects
[@]
}
for
project
in
${
projects
[@]
}
for
project
in
${
projects
[@]
}
do
do
desc
=
`
node
$config_server
/get_project_config.js
-name
$project
-attr
desc
`
sh
$pwd_path
/base_script/restartJava.sh
$project_name
$config_server
$project_path
run_command
=
`
node
$config_server
/get_project_config.js
-name
$project
-attr
command
`
# desc=`node $config_server/get_project_config.js -name $project -attr desc`
sh
$config_server
/show_info.sh
$project
重新启动
$desc
$1
# run_command=`node $config_server/get_project_config.js -name $project -attr command`
cd
$project_path
/
$project
# sh $config_server/show_info.sh $project 重新启动 $desc $1
P_UUID
=
`
ps
-ef
|grep
${
project
}
.jar |grep
-v
'grep'
|awk
'{print $2}'
`
# cd $project_path/$project
if
[
-n
"
${
P_UUID
}
"
]
;
then
# P_UUID=`ps -ef|grep ${project}.jar |grep -v 'grep'|awk '{print $2}'`
echo
"KILL
$project
PPID=
${
P_UUID
}
"
# if [ -n "${P_UUID}" ];then
echo
`
kill
-9
${
P_UUID
}
`
# echo "KILL $project PPID=${P_UUID}"
sleep
2s
# echo `kill -9 ${P_UUID}`
fi
# sleep 2s
log_name
=
`
node
$config_server
/get_project_config.js
-name
$project
-attr
log_name
`
# fi
mv
$project_path
/logs/
$log_name
$project_path
/logs/
$project
.log.
$time
# log_name=`node $config_server/get_project_config.js -name $project -attr log_name`
config_file
=
`
find ./
-maxdepth
2
-name
"application.properties"
`
# mv $project_path/logs/$log_name $project_path/logs/$project.log.$time
if
[
-n
"
$config_file
"
]
# config_file=`find ./ -maxdepth 2 -name "application.properties"`
then
# if [ -n "$config_file" ]
echo
"already have application.properties"
# then
else
# echo "already have application.properties"
echo
"no have application.properties"
# else
if
$is_public_ip
&&
[
-n
"
$is_public_ip
"
]
# echo "no have application.properties"
then
# if $is_public_ip && [ -n "$is_public_ip" ]
echo
"ln -s
$config_path
/public/java/
${
project
}
.* /home/quant_group/
${
project
}
/application.properties"
# then
ln
-s
$config_path
/public/java/
${
project
}
.
*
/home/quant_group/
${
project
}
/application.properties
# echo "ln -s $config_path/public/java/${project}.* /home/quant_group/${project}/application.properties"
else
# ln -s $config_path/public/java/${project}.* /home/quant_group/${project}/application.properties
echo
"ln -s
$config_path
/java/
${
project
}
.* /home/quant_group/
${
project
}
/application.properties"
# else
ln
-s
$config_path
/java/
${
project
}
.
*
/home/quant_group/
${
project
}
/application.properties
# echo "ln -s $config_path/java/${project}.* /home/quant_group/${project}/application.properties"
fi
# ln -s $config_path/java/${project}.* /home/quant_group/${project}/application.properties
fi
# fi
# fi
echo
"
$run_command
"
#
# echo "$run_command"
if
[[
$project
==
"redpacket"
]]
;
then
#
echo
`
java
-Xmx512m
-XX
:PermSize64m
-Xloggc
:/tmp/
${
project
}
.log
-XX
:+PrintGCDetails
-XX
:+PrintGCTimeStamps
-jar
${
project
}
.jar
--worker
1
--currentWorker
1
-t
-ts
>
/dev/null 2>&1 &
`
# if [[ $project == "redpacket" ]]; then
else
# echo `java -Xmx512m -XX:PermSize64m -Xloggc:/tmp/${project}.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar --worker 1 --currentWorker 1 -t -ts > /dev/null 2>&1 &`
echo
`
java
-Xmx512m
-XX
:PermSize64m
-Xloggc
:/tmp/
${
project
}
.log
-XX
:+PrintGCDetails
-XX
:+PrintGCTimeStamps
-jar
${
project
}
.jar
--worker
1
--currentWorker
1
-t
>
/dev/null 2>&1 &
`
# else
fi
# echo `java -Xmx512m -XX:PermSize64m -Xloggc:/tmp/${project}.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar --worker 1 --currentWorker 1 -t > /dev/null 2>&1 &`
# fi
sleep
10s
sleep
10s
...
@@ -69,27 +70,28 @@ function restartNodeProject()
...
@@ -69,27 +70,28 @@ function restartNodeProject()
projects
=(
`
node
$config_server
/get_project_config.js
-type
node
-attr
name
`
)
projects
=(
`
node
$config_server
/get_project_config.js
-type
node
-attr
name
`
)
for
project
in
${
projects
[@]
}
for
project
in
${
projects
[@]
}
do
do
desc
=
`
node
$config_server
/get_project_config.js
-name
$project
-attr
desc
`
sh
$pwd_path
/base_script/restartNode.sh
$project_name
$config_server
$project_path
stop_command
=
`
node
$config_server
/get_project_config.js
-name
$project
-attr
command2
`
# desc=`node $config_server/get_project_config.js -name $project -attr desc`
sh
$config_server
/show_info.sh
$project
重新启动
$desc
$1
# stop_command=`node $config_server/get_project_config.js -name $project -attr command2`
cd
$project_path
/
$project
# sh $config_server/show_info.sh $project 重新启动 $desc $1
# cd $project_path/$project
$stop_command
# forever stop $project
# forever stop $project-www
# pm2 stop $project
start_command
=
`
node
$config_server
/get_project_config.js
-name
$project
-attr
command
`
$start_command
# setup_path_temp=`find ./ -maxdepth 2 -path "./node_modules" -prune -o -type f -name "app.js" -print`
# echo "------setup_path_temp:$setup_path_temp"
#
# echo `forever start -a -s --uid $project ${setup_path_temp}`
#
#
# setup_path_temp_for_appbackent=`find ./ -maxdepth 2 -path "./node_modules" -prune -o -type f -name "www" -print`
# $stop_command
# if [ -n "$setup_path_temp_for_appbackent" ];then
# # forever stop $project
# echo "-----project:$project while be run command: python $python_project_path --mode=beta --port=$port > /dev/null 2>&1 &"
# # forever stop $project-www
# echo `forever start -a -s --uid $project-www ${setup_path_temp_for_appbackent}`
# # pm2 stop $project
# fi
# start_command=`node $config_server/get_project_config.js -name $project -attr command`
# $start_command
# # setup_path_temp=`find ./ -maxdepth 2 -path "./node_modules" -prune -o -type f -name "app.js" -print`
# # echo "------setup_path_temp:$setup_path_temp"
# #
# # echo `forever start -a -s --uid $project ${setup_path_temp}`
# #
# # setup_path_temp_for_appbackent=`find ./ -maxdepth 2 -path "./node_modules" -prune -o -type f -name "www" -print`
# # if [ -n "$setup_path_temp_for_appbackent" ];then
# # echo "-----project:$project while be run command: python $python_project_path --mode=beta --port=$port > /dev/null 2>&1 &"
# # echo `forever start -a -s --uid $project-www ${setup_path_temp_for_appbackent}`
# # fi
done
done
}
}
...
@@ -98,24 +100,25 @@ function restartPythonProject()
...
@@ -98,24 +100,25 @@ function restartPythonProject()
projects
=(
`
node
$config_server
/get_project_config.js
-type
python
-attr
name
`
)
projects
=(
`
node
$config_server
/get_project_config.js
-type
python
-attr
name
`
)
for
project
in
${
projects
[@]
}
for
project
in
${
projects
[@]
}
do
do
desc
=
`
node
$config_server
/get_project_config.js
-name
$project
-attr
desc
`
sh
$pwd_path
/base_script/restartPython.sh
$project_name
$config_server
$project_path
port
=
`
node
$config_server
/get_project_config.js
-name
$project
-attr
port
`
# desc=`node $config_server/get_project_config.js -name $project -attr desc`
# port=`node $config_server/get_project_config.js -name $project -attr port`
sh
$config_server
/show_info.sh
$project
重新启动
$desc
$1
#
cd
$project_path
/
$project
# sh $config_server/show_info.sh $project 重新启动 $desc $1
setup_path_temp
=
`
find ./
-name
"run.py"
`
# cd $project_path/$project
python_project_path
=
$project_path
/
$project
${
setup_path_temp
/\.\//\/
}
# setup_path_temp=`find ./ -name "run.py"`
# python_project_path=$project_path/$project${setup_path_temp/\.\//\/}
P_UUID
=
`
ps
-ef
|grep
port
=
$port
|grep
-v
'grep'
|awk
'{print $2}'
`
#
if
[[
"
${
P_UUID
}
"
!=
""
]]
;
then
# P_UUID=`ps -ef|grep port=$port |grep -v 'grep'|awk '{print $2}'`
echo
"KILL
$project
PPID=
${
P_UUID
}
"
# if [[ "${P_UUID}" != "" ]];then
echo
`
kill
-9
${
P_UUID
}
`
# echo "KILL $project PPID=${P_UUID}"
sleep
3
# echo `kill -9 ${P_UUID}`
fi
# sleep 3
# fi
#
echo
"-----project:
$project
while be run command: python
$python_project_path
--mode=beta --port=
$port
> /dev/null 2>&1 &"
#
echo
`
python
$python_project_path
--mode
=
beta
--port
=
$port
>
/dev/null 2>&1 &
`
# echo "-----project:$project while be run command: python $python_project_path --mode=beta --port=$port > /dev/null 2>&1 &"
# echo `python $python_project_path --mode=beta --port=$port > /dev/null 2>&1 &`
done
done
}
}
...
@@ -125,46 +128,46 @@ function restartUiProject()
...
@@ -125,46 +128,46 @@ function restartUiProject()
}
}
#acknowledge whether the deploy start OK
#acknowledge whether the deploy start OK
function
ack
()
#
function ack()
{
#
{
ack_phrase
=
"
$1
"
#
ack_phrase="$1"
log_path
=
"
$2
"
#
log_path="$2"
max_wait_log_generate_time
=
"
$3
"
#
max_wait_log_generate_time="$3"
max_wait_ack_time
=
"
$4
"
#
max_wait_ack_time="$4"
wait_log_generate_time
=
0
#
wait_log_generate_time=0
wait_ack_time
=
0
#
wait_ack_time=0
echo
"begin acknowledge whether the deploy start OK, ACK_PHRASE=
${
ack_phrase
}
, log_path=
${
log_path
}
"
#
echo "begin acknowledge whether the deploy start OK, ACK_PHRASE=${ack_phrase}, log_path=${log_path}"
while
[
!
-f
${
log_path
}
]
#
while [ ! -f ${log_path} ]
do
#
do
echo
"wait_log_generate_time is
${
wait_log_generate_time
}
, max_wait_log_generate_time is
${
max_wait_log_generate_time
}
"
#
echo "wait_log_generate_time is ${wait_log_generate_time}, max_wait_log_generate_time is ${max_wait_log_generate_time} "
if
((
${
wait_log_generate_time
}
>
${
max_wait_log_generate_time
}
))
#
if ((${wait_log_generate_time}>${max_wait_log_generate_time}))
then
#
then
echo
"the log generated time exceed the limit"
#
echo "the log generated time exceed the limit"
exit
-1
#
exit -1
fi
#
fi
echo
'the log does not exist, wait for 5 seconds'
#
echo 'the log does not exist, wait for 5 seconds'
sleep
5
#
sleep 5
let
"wait_log_generate_time+=5"
#
let "wait_log_generate_time+=5"
done
#
done
echo
"listen for the log ack..."
#
echo "listen for the log ack..."
for
((
i
=
0
;;
))
#
for ((i=0;;))
do
#
do
bootstrap_flag
=
`
cat
${
log_path
}
|grep
"
${
ack_phrase
}
"
|
wc
-l
`
#
bootstrap_flag=`cat ${log_path} |grep "${ack_phrase}"| wc -l`
if
[
"
${
bootstrap_flag
}
"
=
0
]
&&
[
"
${
max_wait_ack_time
}
"
-gt
"
${
wait_ack_time
}
"
]
#
if [ "${bootstrap_flag}" = 0 ] && [ "${max_wait_ack_time}" -gt "${wait_ack_time}" ]
then
#
then
sleep
5
#
sleep 5
let
"wait_ack_time+=5"
#
let "wait_ack_time+=5"
echo
"waiting for bootstrap flag for
${
wait_ack_time
}
"
#
echo "waiting for bootstrap flag for ${wait_ack_time}"
elif
[
"
${
bootstrap_flag
}
"
=
1
]
#
elif [ "${bootstrap_flag}" = 1 ]
then
#
then
echo
"server is start~ log_path:
$log_path
"
#
echo "server is start~ log_path:$log_path"
break
# break
else
#
else
echo
"server not startup in
${
max_wait_ack_time
}
seconds.. log_path:
$log_path
"
#
echo "server not startup in ${max_wait_ack_time} seconds.. log_path:$log_path"
exit
-1
#
exit -1
fi
#
fi
done
#
done
}
#
}
if
[
"
$project_type
"
=
"java"
]
;
then
if
[
"
$project_type
"
=
"java"
]
;
then
restartJavaProject
restartJavaProject
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment