首页 > 系统相关 >3.单节点高可用-windows篇bat脚本实践版本

3.单节点高可用-windows篇bat脚本实践版本

时间:2022-11-21 20:01:37浏览次数:48  
标签:-% bat windows echo 2% time date ocr 节点


问题与背景

在实际的部署过程中,尤其是需要跟anaconda整合,遇到了bat脚本需要启动bat脚本的套娃操作,过程中遇到了单独启动bat脚本没问题,用bat启动bat就出问题的情况。最终发现是跳转的时候忘记添加 /d 参数了,导致了只能在一个盘下操作,条状就不行的情况,特此记录一下,最终的靠谱的脚本。

最佳实践

主监控脚本

主监控脚本,需要开机启动,每n秒自动执行一次,监控端口是不是被监听,进程是不是运行,如果没有就重新启动一下。

@echo off
chcp 65001
title "算法中间件生命周期监控"

rem 定义循环间隔时间: 10s
set /a secs=10

set log=D:\middleware_log.txt

set main_port=22972
set main_location=D:/codeRepo/Middleware_Main/start.bat
set main_name=middleware_main
set main_dir=D:/codeRepo/Middleware_Main


set ocr_port=22976
set ocr_location=D:/codeRepo/Middleware_PaddleOCR/start.bat
set ocr_name=middleware_ocr
set ocr_dir=D:/codeRepo/Middleware_PaddleOCR



echo 算法中间件监控脚本启动!
echo ================================================================================================== >> %log%
call:monitor_middleware



:monitor_middleware
::检查Main
call:check_middleware %main_port% %main_location% %main_name% %log% %main_dir%
::检查ocr
call:check_middleware %ocr_port% %ocr_location% %ocr_name% %log% %ocr_dir%

echo ================================================================================================== >> %log%
choice /t %secs% /d y /n >nul
goto monitor_middleware





:check_middleware
echo [%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2%:%time:~6,2%] 开始检查 %3 运行情况 ......>> %4
set state=0
for /f "tokens=3 delims=: " %%a in ('netstat -an') do if "%%a"=="%1" set state=1

if %state%==1 (
echo [%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2%:%time:~6,2%] %3 正常运行!>> %4
)else if not %state%==1 (
echo [%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2%:%time:~6,2%] %3 未启动! >> %4
echo [%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2%:%time:~6,2%] %3 正在启动中 ...... >> %4
cd %5
start %2
choice /t 5 /d y /n >nul
for /f "tokens=3 delims=: " %%b in ('netstat -an') do (
if "%%b"=="%1" (
echo [%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2%:%time:~6,2%] %1 启动成功!>> %4
)
)
)
set state=
echo ------------------------------------------------------------------------------------------------->> %4
goto:eof



:end

子组件启动脚本

需要注意切换路径的时候的参数。

@echo off
chcp 65001
title "算法中间件启动终端MAIN"

cd /d D:/codeRepo/Middleware_PaddleOCR
call C:/soft/anaconda/Scripts/activate.bat C:/soft/anaconda/envs/middleware_paddleocr
call python ocr.py


标签:-%,bat,windows,echo,2%,time,date,ocr,节点
From: https://blog.51cto.com/u_11301546/5875173

相关文章

  • Windows和Linux 权限维持(全)
    linux权限维持添加账号一般在具有root权限时可以使用以下2种方式添加root权限用户1.通过useradd,后面账号backdoor/123456useradd-u0-o-groot-Grootbackdoorec......
  • kubeadm安装多master节点k8s高可用集群
    百度网盘链接:https://pan.baidu.com/s/15t_TSH5RRpCFXV-93JHpNw?pwd=8od3 提取码:8od39kubeadm安装多master节点k8s高可用集群9.1初始化实验环境K8S集群角色I......
  • Windows搭建Git服务器
    Windows如何搭建Git服务器1、安装java环境(1)下载安装java注意(java的版本需要在1.7及以上)(2)配置java的环境变量(3)检验java环境是否安装成功2、下载安装Gitblit(1)下载地......
  • mybatis查询结果封装javabean属性时属性名与数据库字段不同都能封装????
    问题现象:通过mybatis查询数据库中的表记录,封装成javaBean,本来属性名和字段名不相同的情况下,属性最后应该注入null的,结果能够正常注入。javaBean:publicclassEmplo......
  • 代码随想录算法训练营第四天|24. 两两交换链表中的节点 19.删除链表的倒数第N个节点
     今日任务●24.两两交换链表中的节点●19.删除链表的倒数第N个节点●面试题02.07.链表相交●142.环形链表II●总结详细布置24.两两交换链表......
  • Windows下使用VSCode搭建IDA Python脚本开发环境
    由于本人是VSCode的重度沉迷用户,需要写代码时总会想起这个软件,因此选择在VSCode中搭建IDAPython的开发环境本文适用的环境如下:1.操作系统windows2.Python33.IDAPro......
  • WinUI(WindowsAppSDK)使用LiteDB做个女演员图鉴
    为什么选择LiteDB之前做uwp的时候有做过一个植物图鉴,当时图片使用的是在线图片,所以图片很多也并没有什么体验上的差别,但是直到有一天别人的网站挂掉了,图片访问不到了,当时......
  • frp代理windows远程桌面
    前言参考地址:​​https://geomatlab.com/frp-windows-rdp/​​正文备忘远程的电脑在登录时会输入用户名和密码,这个用户名有可能不是被远程电脑上显示的用户名,我们需要在被远......
  • Mybatis下的SQL注入漏洞原理及防护方法
    目录一、前言二、SQL注入漏洞原理1、概述2、漏洞复现3、修复建议三、Mybatis框架简介1、参数符号的两种方式2、漏洞复现四、Mybatis框架下的SQL注入问题及防护方法1、......
  • mybatis-plus入门
    1、快速开始1.1、现有一张User表,其表结构如下idnameageemali1Jone18test1@baomidou.com2Jack20test2@baomidou.com3Tom28test3@baomidou.co......