脚本掌控,Linux上实现Spring Boot(JAR包)开机自启

这篇具有很好参考价值的文章主要介绍了脚本掌控,Linux上实现Spring Boot(JAR包)开机自启。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

😊 @ 作者: 一恍过去
💖 @ 主页: https://blog.csdn.net/zhuocailing3390
🎊 @ 社区: Java技术栈交流
🎉 @ 主题: 脚本掌控,Linux上实现Spring Boot(JAR包)开机自启
⏱️ @ 创作时间: 2023年08月24日

脚本掌控,Linux上实现Spring Boot(JAR包)开机自启,开发技巧,linux,spring boot,jar

前言

Linux自启(或开机自启)指的是在Linux系统启动时自动运行特定的程序或脚本。当计算机启动时,操作系统会按照一定的顺序加载系统服务和配置,其中包括自动启动一些应用程序或服务。这些应用程序或服务会在系统启动后自动运行,以提供特定的功能或服务。

开机自启的好处在于可以在系统启动时自动恢复之前的工作状态,减少手动干预,同时确保特定的服务或应用程序始终处于运行状态,提供持续的服务。

sh脚本是指Shell脚本,是一种在Unix/Linux系统上运行的脚本文件,通常使用Shell编程语言来编写。Shell是操作系统的一种命令行解释器,它可以用来执行操作系统命令、管理文件系统、处理文本数据等。

Shell脚本是一个纯文本文件,以.sh扩展名结尾。它包含一系列Shell命令和控制结构,用于自动化完成一系列任务。通过编写Shell脚本,可以将一系列复杂的操作和任务集中到一个文件中,并通过运行脚本来实现这些操作,从而简化了操作过程并提高了效率。

1、创建工作目录

创建jar部门的目录,并且将jar上传到该目录下

mkdir -p /home/java-server/test-demo

2、创建启动脚本

进入jar目录:

cd  /home/java-server/test-demo

创建脚本文件:

vim start.sh

启动脚本内容:

#!/bin/sh
export LANG="en_US.UTF-8"
cd /home/java-server/test-demo
runMessage=`ps aux | grep \`cat pidfile.txt\``
projectStartCommand="/usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar"
if [[ $runMessage == *$projectStartCommand* ]]
then
    echo "Application has starting ,restarting..."
    kill -9 `cat pidfile.txt`
    nohup /usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar -java.tmp.dir=/home/java-server/test-demo/temp >/dev/null 2>&1 & echo $! > pidfile.txt
else
    echo "Application has stopped ,starting..."
    nohup /usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar -java.tmp.dir=/home/java-server/test-demo/temp >/dev/null 2>&1 & echo $! > pidfile.txt
fi
  • 脚本中/home/java-server/test-demo就是jar包所在的,可以根据实际情况定。
  • xxx.jar为实际的jar包名称。
  • /usr/local/java/jdk1.8.0_131/bin/java为jdk环境所在路径。

3、创建停止脚本

进入jar目录:

cd  /home/java-server/test-demo

创建脚本文件:

vim stop.sh

启动脚本内容:

#!/bin/sh
cd /home/java-server/test-demo
PID=$(cat pidfile.txt)
if [ ${PID} ]; 
then
    echo 'Application is stpping...'
    echo kill $PID DONE
    kill $PID
else
    echo 'Application is already stopped...'
fi

4、设置开机自启

进入system:

# 进入system
cd /usr/lib/systemd/system/ 

创建自启脚本:

vim xxx.service

xxx.service为脚本的名称,一般来就是jar包前缀名称一致,比如:test-demo.service

内容如下:

[Unit]
Description=xxx
After=network.target

[Service]
Type=forking
ExecStart=/home/java-server/test-demo/start.sh
ExecStop=/home/java-server/test-demo/stop.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • Description:描述,一般为项目名称
  • ExecStart:开启脚本位置
  • ExecStop:停止脚本位置

设置脚本权限:

# 自启文件
chmod 777 xxx.service
# 启动文件
chmod 777  /home/java-server/test-demo/start.sh
# 停止文件
chmod 777  /home/java-server/test-demo/stop.sh

加入自启命令 :

systemctl daemon-reload
systemctl enable xxx.service

启动|停止命令:

# 启动
systemctl start xxx

# 停止
systemctl stop xxx
  • xxx就是xxx.service的前缀。

脚本掌控,Linux上实现Spring Boot(JAR包)开机自启,开发技巧,linux,spring boot,jar文章来源地址https://www.toymoban.com/news/detail-686391.html

到了这里,关于脚本掌控,Linux上实现Spring Boot(JAR包)开机自启的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 部署问题集合(十九)linux设置Tomcat、Docker,以及使用脚本开机自启(亲测)

    因为不想每次启动虚拟机都要手动启动一遍这些东西,所以想要设置成开机自启的状态 创建service文件 添加如下内容,注意修改启动脚本和关闭脚本的地址 设置开机自启: systemctl enable tomcat 重新载入配置文件,使设置生效: systemctl daemon-reload 重新启动看看效果: reboot (如

    2024年02月11日
    浏览(31)
  • 创建开机自启的脚本

    在启动许多ros节点时有多种方式,我推荐使用launch来启动所有的节点,这也是一种规范的方式。以后会慢慢向这个方向靠。 除此之外还可以通过创建的脚本来启动: 脚本位置不限,只需要: 在里面添加相应的内容: 然后添加权限: sudo chmod 777 -R xxx.sh 这样脚本就创建完了,

    2024年02月09日
    浏览(29)
  • Elasticsearch开机自启脚本

    su elk! 切换为 elk 用户执行下面的命令,! 相当于EOF 注意: 以上脚本的用户为 elk,如果你的用户不是,则需要替换 以上脚本的 JAVA_HOME 以及 elasticsearch_home 如果不同请替换 [root@weiyi ~]# chmod +x /etc/init.d/elasticsearch  [root@weiyi ~]# chkconfig --add /etc/init.d/elasticsearch #添加开机自启动

    2024年02月15日
    浏览(32)
  • CentOS设置开机自启脚本

    通过 /etc/rc.d/rc.local 方式设置开机自启 编写要执行的脚本 添加以下内容

    2024年02月07日
    浏览(29)
  • Windows配置开机自启jar包,不显示黑窗口,并输出日志

    如果是在 Linux 下开机自启一个服务相对比较简单,这次遇到一个需求是关于 Windows 开机自启的: 在 Windows 环境下开机自动运行一个 SpringBoot 服务; 而且由于是一个后台服务,要求对终端用户无感知; 为后期维护方便,需要将原来的控制台输出记录到日志文件。 以下实现方

    2023年04月08日
    浏览(25)
  • Ubuntu 18.04 设置开机自启脚本

    一、背景 同伴在频繁更新系统环境,需要经常使用reboot命令重启,但每次重启后端Jar都会停止,每次重启都需要手动启动Web后端Jar包。针对此种情况,想到了采用开机自动启动Jar包的方法来节省时间。 二、详细步骤 1. 编写你想要开机自动执行的命令。 切换到你想要装脚本的

    2023年04月10日
    浏览(28)
  • Ubuntu 22.04 设置开机自启脚本

    背景:系统采用docker容器形式部署方式,docker的形式存在每次启动服务器时所有服务同时启动,没有先后顺序,本次系统有应到mqtt,mqtt需在其他服务之前启动,否则会存在通信异常情况,所以本次应用了开机自启服务,开机执行顺序脚本,以达到应用到mqtt的服务后启动。

    2024年02月02日
    浏览(38)
  • linux 服务开机自启

    Centos有两种方式,一是修改/etc/rc.local文件,二是使用chkconfig来管理开机自启(chkconfig无法自启动源码包) 等级 等级0:关机 等级1:单用户模式 等级2:无网络连接的多用户命令行模式 等级3:有网络连接的多用户命令行模式 等级4:不可用 等级5:带图形界面的多用户模式 等级

    2024年02月13日
    浏览(27)
  • docker设置linux开机自启

    要在Linux系统上设置Docker开机自启,可以按照以下步骤操作: 打开终端并使用root权限登录系统。 编辑 /etc/rc.local 文件: sudo vi /etc/rc.local 在文件的最后一行添加以下内容: /usr/bin/systemctl start docker.service 保存文件并退出编辑器。 添加可执行权限以使该文件在系统启动时自动运

    2024年02月14日
    浏览(31)
  • Linux下mysql开机自启

    #1、mysql的安装目录的权限给mysql用户以及用户组mysql57 #chown(英文全拼:change owner)命令用于设置文件所有者和所属组的命令。 #chown 需要超级用户root的权限才能执行此命令 #-R(注意大写)选项表示连同子目录中的所有文件,都更改 chown -R mysql57:mysql57 /mnt/mysql/mysql57 #2、添加

    2024年01月23日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包