Spring Boot快速注册服务脚本

181 阅读1分钟

前言

Spring Boot项目通过JAR打包部署的时候,一般我们所采取的措施是将其注册为服务,并通过service命令管理项目。但注册服务的过程相对繁琐,不如写一个脚本来快速注册(入门Shell)。

注册服务脚本

#!/bin/sh
echo "Please input the path of jar:"
read -e jar_path
echo "Please input the name of service:"
read -e service_name
service_path="/etc/init.d/"$service_name
ln -s $jar_path $service_path
chmod +x $service_path
echo "Register success!"

脚本说明

  • '#'开头所在行即为注释,'#!'为约定的标记,代表这个脚本需要使用的解释器
  • echo用于字符的显示,提高用户体验
  • read用于读取输入流,并将其存入指定的变量;-e使得输入的字符暂时存储在缓存区中,解决read退格异常问题
  • 字符串拼接:只需将变量紧挨在一起即可
  • ln -s : 创建指向目标jar的软连接(类似于快捷方式),存放在'/etc/init.d/'中
  • chmod +x :增加可执行权限

测试

1.通过maven打包出一个完全可执行的jar,即可以被注册为服务,具体请参照Spring Boot官方文档

2.vim deploy.sh,复制以上脚本代码,保存退出

3.chmod +x deploy.sh,为脚本增加可执行的权限

4../deploy.sh,执行该脚本。输入jar的路径,然后输入服务的名称(可自定义),最后启动测试

测试样例

变量赋值的时候,等号旁边不能有空白,例如上面脚本中的第一个service_path所在行,如果写成service_path = "/etc/init.d/"$service_name,脚本执行将会报错。