linux自定义开机启动脚本

一、概述

使用IDEA生成的linux系统可执行程序.sh文件,手动启动没有问题,开机自启动踩了不少坑,网上提供的三种方法都不适合,

有一种方法是在/etc/rc.local文件中加上启动脚本的命令,我加上之后,出现如下错误

enter image description here

我猜可能是mysql服务还没有启动,导致连接请求被拒绝。

因为我一直想将生成的这个.sh文件开机自启动,但是无奈总是不尽人意,后来换个思路,通过xshell脚本来启动这个.sh文件,搞定!

二、自定义开机启动脚本

在/etc/profile.d/目录下创建rds_start.sh文件

vi rds_start.sh

输入以下内容:

#!/bin/sh
#chkconfig: 2345 80 90
#description:rds_start.sh
cd /home/softs/rds/bin/
nohup ./rds_start.sh &

其中其三行是固定格式

#!/bin/sh
是指此脚本使用/bin/sh来解释执行

#chkconfig: 2345 20 80
2345表示系统运行级别是2,3,4或者5时都启动此服务,20,是启动的优先级,80是关闭的优先级,如果启动优先级配置的数太小时如0时,则有可能启动不成功,因为此时可能其依赖的网络服务还没有启动,从而导致自启动失败。

#description:rds_start.sh
是描述信息

wq!保存后 使用chmod设置可执行权限

chmod +x rds_start.sh

然后将其拷贝到/etc/init.d/目录下,否则添加服务不成功:

cp rds_start.sh /etc/init.d/

添加到系统服务

chkconfig --add rds_start.sh

设置开机启动

chkconfig rds_start.sh on

然后重启linux

shutdown -r now

重启之后连接查看效果:

ps -ef | grep rds

enter image description here

开机自启动成功!

备注

pom.xml中加入以下插件可打包生成.sh文件

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>appassembler-maven-plugin</artifactId>
        <version>1.10</version>
        <configuration>
            <configurationDirectory>conf</configurationDirectory>
            <includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
            <repositoryLayout>flat</repositoryLayout>
            <assembleDirectory>${project.build.directory}/rds</assembleDirectory>
            <repositoryName>libs</repositoryName>
            <extraJvmArguments>-Xms1024m -Xmx1024m</extraJvmArguments>
            <!-- 生成linux -->
            <binFileExtensions>
                <unix>.sh</unix>
            </binFileExtensions>
            <programs>
                <program>
                    <mainClass>com.dj.rds.Application</mainClass>
                    <name>rds_start</name>
                </program>
            </programs>
        </configuration>
    </plugin>

maven打包命令

package appassembler:assemble

参考地址:https://blog.csdn.net/achilles12345/article/details/52150867

访问我的达人课

访问我的博客 Wang's Blog

关注我的微信公众号获取更多资源

  • 11
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坏菠萝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值