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

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

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页