守护脚本守护 docker容器部署的程序

要求:项目需要做到自动重启功能,需要一个守护脚本一直后台运行,2分钟检测一次平台-api服务是否存在,如果不存在则执行启动脚本,进行平台-api的启动。

目录

1、编写脚本

2、执行命令启动脚本

3、启动命令说明

3.1. nohup

3.2. &

3.3. /dev/null

3.4. 2>&1

3.5. > /dev/null 2>&1 和 2>&1 > /dev/null的区别

3.6. >guard_tandem_platform.log

4、要输出日志和不要输出日志

4.1. 要日志

4.2. 不要日志


1、编写脚本




echo ""
echo "                ************************************************ ";
echo "                *                 tandem_platform service      * ";
echo "                *----------------------------------------------* ";
echo "                *                                              * ";
echo "                *                                              * ";
echo "                *----------------------------------------------* ";
echo "                *                $(date +%Y-%m-%d)             * ";
echo "                ************************************************ ";

deployPath=/home/docker/mesa/api
deployFile=/home/docker/mesa/api/deploy-api.sh

if [ -e $deployFile ]
then
	echo ""
else
	echo "部署脚本不存在,请检查路径是否一致"
	exit
fi

while true
do
    bRunning=$(docker ps | grep tandem_platform )
    echo "$bRunning"
    if [ "$bRunning" ] 
    then
         echo "tandem_platform服务正在运行中......"
        sleep $[60*2]   # 每隔 2分钟检测一次
    else
	 cd $deployPath
         echo "tandem_platform-重新执行脚本"
       sh deploy-api.sh deployImagesAndStartContainer
	echo "脚本执行成功"
	sleep $[60*5]
    fi
done

2、执行命令启动脚本

nohup sh tandem_platform.sh >guard_tandem_platform.log  2>&1 &

3、启动命令说明

3.1. nohup

nohup(n ohang up)的意思是不挂起、永久执行
nohup运行命令可以使运行的命令永久的执行下去,和用户终端没有关系,可以在你退出帐户/关闭终端之后继续运行相应的进程。例如我们断开SSH连接并不会影响他的运行(注意:nohup没有后台运行的意思,&才是后台运行)

3.2. &

&是指在后台运行,当用户退出(挂起)、关闭终端的时候,后台运行的这条命令也会退出

3.3. /dev/null

/dev/null表示垃圾桶的意思,类似windows的回收站

3.4. 2>&1

2表示错误输出,1表示标准输出,>表示重定向
所以2>&1连起来就是:将错误输出重定向到标准输出

3.5. > /dev/null 2>&1 和 2>&1 > /dev/null的区别

> /dev/null 2>&1: 标准输出和错误输出都被重定向到回收站
2>&1 > /dev/null: 错误输出到终端,标准输出被重定向到回收站

3.6. >guard_tandem_platform.log

输出到这个文件里

4、要输出日志和不要输出日志

4.1. 要日志

nohup sh tandem_platform.sh >guard_tandem_platform.log  2>&1 &

4.2. 不要日志

 nohup sh tandem_platform.sh >/dev/null 2>&1 &

参考文章:nohup /dev/null 2>&1 &含义详解 )      nohup 命令输出到指定文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值