当前位置: 首页 > article >正文

Linux设置开机自动执行脚本 rc-local

使用/etc/rc.local

1、启动rc-local服务

首先授予执行权限

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

设置开启自启并启动

sudo systemctl enable rc-local
sudo systemctl start rc-local

查看状态

sudo systemctl status rc-local

在这里插入图片描述

2、编写要执行的脚本

vim /home/start.sh

#!/bin/bash

echo "--------开始--------"
sleep 20
echo "===================="

# 定义目标主机和端口
HOST1="199.10.100.81"
PORT1="8848"

HOST2="199.10.100.81"
PORT2="3306"

export JAVA_HOME=/usr/local/jdk-17.0.11
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

# 尝试通过Telnet连接第一个目标,直到连接成功
echo "Trying to connect to $HOST1:$PORT1..."
while true; do
    if timeout 5 telnet $HOST1 $PORT1 < /dev/null | grep -q "Connected to"; then
        echo "Telnet connection to $HOST1:$PORT1 successful."
        break
    else
        echo "Telnet connection to $HOST1:$PORT1 failed, retrying in 5 seconds..."
        sleep 5
    fi
done

# 尝试通过Telnet连接第二个目标,直到连接成功
echo "Trying to connect to $HOST2:$PORT2..."
while true; do
    if timeout 5 telnet $HOST2 $PORT2 < /dev/null | grep -q "Connected to"; then
        echo "Telnet connection to $HOST2:$PORT2 successful."
        break
    else
        echo "Telnet connection to $HOST2:$PORT2 failed, retrying in 5 seconds..."
        sleep 6
    fi
done

# 执行启动服务命令
nohup java -jar test.jar > /nohup.out &
# 检查命令执行是否成功
if [ $? -eq 0 ]; then
    echo "服务启动成功"
else
    echo "服务启动失败"
fi

编辑启动文件

编辑启动文件

vim /etc/rc.local

在这里插入图片描述

重启linux服务器会自动执行脚本


http://www.kler.cn/a/402299.html

相关文章:

  • 亚马逊商品详情API接口解析,Json数据示例返回
  • 速盾:CDN是否支持屏蔽IP?
  • Python入门(10)--面向对象进阶
  • 【linux】(13)java虚拟机进程信息-jps
  • Excel——宏教程(1)
  • 代码随想录算法训练营第三十五天| 01背包问题 二维 、01背包问题 一维、416. 分割等和子集 。c++转java
  • C++创建型设计模式体现出的面向对象设计原则
  • unity3d————非实例化对象
  • 2024年中国AI大模型场景探索及产业应用调研报告:大模型“引爆”行业新一轮变革
  • Docker入门之Windows安装Docker初体验
  • Cargo Rust 的包管理器
  • rockylinux8.10默认分区方案
  • 鸿蒙实战:使用隐式Want启动Ability
  • 对数几率回归
  • 【phpseclib】 PHP 使用加密算法 RSA、DES、AES等
  • STM32低功耗设计NFC与无线距离感应智能钥匙扣-分享
  • 广东智能装备研发制造企业源代码防泄密|源代码防泄密解决方案
  • C++ | Leetcode C++题解之第565题数组嵌套
  • Argo workflow 拉取git 并使用pvc共享文件
  • Flutter:key的作用原理(LocalKey ,GlobalKey)