linux的shell脚本基础写法xxx.sh

#!/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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值