#!/bin/sh
#定义一个目录的字符串
workDir="/home/jiuddata/"
#判断是否存在此目录,存在就创建一个
if [ ! -x "$workDir" ]; then
mkdir "$workDir"
fi
##### 清空日志 删除之前的存日志的目录
rm -rf $workDir/log/
mkdir $workDir/log/
#进入到目录
cd $workDir
#定义一个方法 方法名称为start_tomcat
start_tomcat(){
#方法中顺便打印一句字符串
echo "starting tomacat....."
#执行启动tomcat 并把日志放到指定app.log的文件中去
#2>&1 2就是标准错误,1是标准输出,那么这条命令相当于把标准错误重定向到标准输出么
nohup /opt/tomcat/bin/catalina.sh start > $workDir/log/tomcat.log 2>&1 &
}
#定义一个方法start_backend
start_backend(){
#方法中顺便打印一句字符串,表示正在执行这个方法
echo "starting backend....."
#执行启动springBoot的jar命令 后台运行 并把日志放到指定文件夹中去
#2>&1 2就是标准错误,1是标准输出,那么这条命令相当于把标准错误重定向到标准输出么
nohup java -jar $workDir/backend_app/wiki-backend-web.jar > $workDir/log/app.log 2>&1 &
}
#定义一个方法pid_health_check $1是这个方法的参数,其他地方调用此方法传入进来
pid_health_check(){
#定义一个linux的命令字符串 $1是这个方法的参数,其他地方调用此方法传入进来
#这个命令解释: 搜索linux中的进程 并且过滤掉-带grep的那条
process_cnt=`ps -ef | grep $1 | grep -v grep | wc -l`
#表示执行上面定义的process_cnt命令
echo $process_cnt
#返回值-上面命令查询出来的日志的条数
return $?
}
#执行上面定义的方法
start_tomcat
#执行上面定义的方法
start_backend
#死循环 表示 1>0吗 执行循环中的内容
while [[ 1 -gt 0 ]]
do
#方法中顺便打印一句字符串
echo "check healthy of tomcat...."
#定义一个process_cnt参数接收-调用process_cnt的方法返回的值,传入(参数1-方法名,参数2-搜索的进程名称)
process_cnt=$(pid_health_check tomcat)
#if判断-调用pid_health_check方法返回值中日志的条数小于1 表示此tomcat进程已经被停了 then中重新执行启动方法
if [[ $process_cnt -lt 1 ]]
then
start_tomcat
fi
echo "check healthy of wiki-backend...."
process_cnt=$(pid_health_check wiki-backend)
#if判断-调用pid_health_check方法返回值中日志的条数小于1 表示此wiki-backend的jar进程已经被停了 then中重新执行start_backend启动方法
if [[ $process_cnt -lt 1 ]]
then
start_backend
fi
#表示等待1分钟后重新执行死循环
sleep 1m
done
#!/bin/sh
workDir="/home/jiuddata/"
if [ ! -x "$workDir" ]; then
mkdir "$workDir"
fi
rm -rf $workDir/log/
mkdir $workDir/log/
cd $workDir
start_tomcat(){
echo "starting tomacat....."
nohup /opt/tomcat/bin/catalina.sh start > $workDir/log/tomcat.log 2>&1 &
}
start_backend(){
echo "starting backend....."
nohup java -jar $workDir/backend_app/wiki-backend-web.jar > $workDir/log/app.log 2>&1 &
}
pid_health_check(){
process_cnt=`ps -ef | grep $1 | grep -v grep | wc -l`
echo $process_cnt
return $?
}
start_tomcat
start_backend
while [[ 1 -gt 0 ]]
do
echo "check healthy of tomcat...."
process_cnt=$(pid_health_check tomcat)
if [[ $process_cnt -lt 1 ]]
then
start_tomcat
fi
echo "check healthy of wiki-backend...."
process_cnt=$(pid_health_check wiki-backend)
if [[ $process_cnt -lt 1 ]]
then
start_backend
fi
sleep 1m
done