SpringBoot服务在Centos7.9下开机自启

SpringBoot服务在Centos7.9下开机自启

rc.local方式

在 CentOS 7.9 中,使用 rc.local 文件的方式实现开机启动脚本。rc.local 文件是一个在系统启动时会执行其中命令的脚本文件。

以下是实现的步骤:

  1. 编辑 rc.local 文件:

    • 打开 /etc/rc.d/rc.local 文件进行编辑:

      sudo vim /etc/rc.d/rc.local
      
    • 如果文件不存在,可以创建一个新文件并赋予执行权限:

      sudo touch /etc/rc.d/rc.local
      sudo chmod +x /etc/rc.d/rc.local
      
  2. 添加启动脚本:

    • rc.local 文件中,添加你的启动脚本或命令。例如:

      # 启动脚本路径
      sh /path/to/your/serviceauto.sh > /path/to/your/serviceauto.log 
      

    请确保在文件的末尾保留 exit 0 行,这是文件的一部分,用于标识脚本的结束。

    服务启动脚本供参考

    #!/bin/bash
    
    # 检查目标目录是否存在
    target_directory="/opt"
    if [ ! -d "$target_directory" ]; then
        echo "目标目录 $target_directory 不存在"
        exit 1
    fi
    
    # 获取目标目录下的所有 .sh 文件
    script_files=$(find "$target_directory" -type f -name "*.sh")
    
    # 循环执行每个脚本
    for script_file in $script_files; do
        # 获取脚本所在目录
        script_directory=$(dirname "$script_file")
    
        # 打印当前执行的脚本信息
        echo "执行脚本:$script_file"
    
        # 进入脚本所在目录并执行脚本
        cd "$script_directory" || exit 1
        bash "$script_file"
        
        # 返回到原始目录
        cd - || exit 1
    done
    
    echo "所有脚本执行完成"
    exit 0
    
  3. 设置权限:

    • 确保 rc.local 文件有执行权限:

      sudo chmod +x /etc/rc.d/rc.local
      
  4. 重启系统:

    • 重启系统,使修改生效:

      sudo reboot
      

    当系统重新启动时,rc.local 中的命令将会执行。

请注意,使用 rc.local 的方式虽然简单,但在较新的 Linux 发行版中,systemctl 更为常见和推荐。

systemctl 方式

CentOS 7.9 系统基于 systemctl ,建议使用的 systemctl 方法。

  1. 创建启动脚本:

    • 首先,创建你的启动脚本。将脚本保存在一个你认为合适的位置,例如 /etc/systemd/system 目录下。例如,假设你的启动脚本是 /path/to/your/script.sh

      #!/bin/bash
      # Your startup script content
      
  2. 授予执行权限:

    • 确保你的脚本有执行权限:

      chmod +x /path/to/your/serviceauto.sh
      
  3. 创建 Systemd 服务单元文件:

    • /etc/systemd/system/ 目录下,创建一个带有 .service 扩展名的文件,例如 /etc/systemd/system/your-service.service。编辑这个文件,指定启动脚本路径等信息。示例内容:

      [Unit]
      Description=Your Service Description
      After=network.target
      
      [Service]
      ExecStart=/path/to/your/script.sh
      Restart=always
      User=your_username
      
      [Install]
      WantedBy=multi-user.target
      

      注意:修改 ExecStartUser 字段的值,分别指定你的启动脚本路径和执行服务的用户名。

  4. 启用并启动 Systemd 服务:

    • 执行以下命令启用和启动你的 Systemd 服务:

      systemctl enable your-service.service
      systemctl start your-service.service
      

      这样,你的脚本就会在系统启动时自动运行。

  5. 检查服务状态:

    • 你可以使用以下命令来检查服务的状态:

      systemctl status your-service.service
      

      如果一切正常,你应该看到服务处于运行状态。

请根据你的服务实际情况修改这些步骤中的路径和配置信息。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值