linux自定义开机启动脚本

一、概述

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

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

linux自定义开机启动脚本_第1张图片

我猜可能是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

linux自定义开机启动脚本_第2张图片

开机自启动成功!

备注

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


        org.codehaus.mojo
        appassembler-maven-plugin
        1.10
        
            conf
            true
            flat
            ${project.build.directory}/rds
            libs
            -Xms1024m -Xmx1024m
            
            
                .sh
            
            
                
                    com.dj.rds.Application
                    rds_start
                
            
        
    

maven打包命令

package appassembler:assemble

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

访问我的达人课

访问我的博客 Wang's Blog

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

linux自定义开机启动脚本_第3张图片

你可能感兴趣的:(Linux)