Redis和Springboot在Windows上面设置开机启动的方法

发布时间 2023-12-10 08:13:26作者: 济南小老虎

Redis和Springboot在Windows上面设置开机启动的方法


背景

同事遇到一个问题
Windows 晚上自动更新服务
然后第二天 Springboot开发的程序没有启动起来. 
所以基于此想创建一个开机启动的服务设置

很早之前自己研究过 Winsw等工具
但是感觉对springboot 比较复杂的应用使用起来比较痛苦
这里学习和研究一下 sc 命令等

学习和复制Redis的

Redis的启动脚本为: 
注意 我这边为了 稳定, 使用的是微软编译的 3.2.100 的最后一个redis版本
其他版本稳定性不好. 我就先试用这一个了,并且将想服务名添加上了版本号

@echo on
cd /d %~dp0
sc create redis3.2.100 binPath= "\"%CD%\redis-server.exe\" --service-run \"%CD%\redis.conf\"" DisplayName= "Redis3.2.100" start= auto depend= TCPIP
sc description redis3.2.100 "Redis Cache Service"
net start redis3.2.100

需要注意 可以将这个文件保存为 install_redis_service.bat
在同级的目录下面至少要有 redis-server 和 redis.conf 等配置文件. 
便于启动

其实可以将 redis-cli 放到 c:\windows\system32\ 目录下就可以任意目录打开redis-cli了. 

sprintboot的开机启动处理

Springboot开发的应用设置为服务比较繁琐
但是设置为开机启动还是比较简单的.

一般产品都会有一个 startup.bat 类似的启动脚本
可以通过

命令行输入->control->打开控制面板->大图标模式下 点击->管理工具
打开 "任务计划程序"

或者是CMD 输入-> taskschd.msc
直接打开

->在任务计划程序库->右键新增->创建基本任务->选择当计算机启动时
->选择启动程序->选中一个需要启动的bat文件
保存

重启机器验证

需要注意, 我们这边因为改进了一下启动方式.
通过计划任务打开的bat文件无法启动服务

可以使用如下的方式进行

wmic process where "ProcessId like 'your javapid'" get commandline  >only_Startup.bat

可以获取到系统最原始的启动命令

然后计划任务选用这个脚本出来的 结果 就可以启动.