Linux开机启动自定义脚本

发布时间 2023-12-18 17:33:03作者: hviger

方式一:chkconfig命令

  1. 首先编写好自启的脚本
    /etc/init.d/test.sh

    #!/bin/sh
    # chkconfig: 2345 10 90
    
    # 创建个文件
    touch /opt/script/1.txt
    
  2. 再给脚本添加上可执行权限:

    chmod +x test.sh
    
  3. 将脚本添加到开机启动项

    chkconfig --add test.sh
    
  4. 将脚本设置为自启动

    chkconfig test.sh on
    
  5. chkconfig命令的常用参数

    chkconfig --list:列出所有系统服务的启动状态;
    chkconfig --add:增加服务;
    chkconfig --del:删除服务;
    chkconfig 服务名 on:设定服务开机启动;
    chkconfig 服务名 off:关闭服务开机启动;
    chkconfig 服务名 --level 35 on:设定服务在等级3和等级5时启动;
    chkconfig 服务名 --level 35 off:关闭服务在等级3和等级5时自动启动;
    chkconfig --level 35 服务名 on:设定服务在等级3和等级5时启动;
    chkconfig --level 35 服务名 off:关闭服务在等级3和等级5时自动启动;
    

方式二:修改/etc/rc.d/rc.local文件

在/etc/rc.d/rc.local文件最后一行下面另起一行添加下面的代码:

/data/sbin/test.sh restart

给予/etc/rc.d/rc.local权限

chmod +x /etc/rc.d/rc.local

配置Java程序为系统服务

将Java程序配置为系统服务(systemd服务)来实现开机自启动。使用systemd可以很方便地管理和控制后台服务,包括Java程序。以下是一个简单的步骤来配置Java程序为systemd服务:

1、编写启动脚本

#!/bin/bash

# Java可执行文件路径
JAVA_EXECUTABLE=/usr/bin/java

# Java程序的jar包路径
JAR_PATH=/path/to/your/java/program.jar

# 启动Java程序
$JAVA_EXECUTABLE -jar $JAR_PATH

2、给脚本赋予执行权限

chmod +x /data/sbin/testService.sh

3、创建systemd服务单元文件

在/etc/systemd/system/目录下创建一个以.service结尾的文件,用于定义您的Java程序作为systemd服务的配置。

makefileCopy code[Unit]
Description=Your Java Program
After=network.target

[Service]
ExecStart=/usr/local/bin/testService.sh
Type=simple
User=your_username
Group=your_groupname
Restart=on-failure

[Install]
WantedBy=multi-user.target

4 启动服务并设置开机自启

systemctl enable testService

systemctl start testService