开机自启动脚本配置

#!/bin/bash# 定义要检查的IP地址
IP_ADDRESSES=("127.0.0.1")# 检查是否存在任意一个IP地址
check_ips() {HOST_IPS=$(hostname -I)for IP in "${IP_ADDRESSES[@]}"; doif [[ $HOST_IPS =~ $IP ]]; thenreturn 0fidonereturn 1
}# 检查IP地址并在必要时重新启动网络的主循环
while true; docheck_ipsif [ $? -ne 0 ]; thenecho "没有检测到任意一个指定的IP地址。重新启动网络..."/etc/init.d/networking restartelseecho "检测到至少一个指定的IP地址。退出循环。"breakfisleep 30
done

在这个脚本中,当检测到任意一个指定的IP地址时,输出“检测到至少一个指定的IP地址。退出循环。”并退出循环。

添加到开机自启动
按照以下步骤将脚本添加到开机自启动:

保存脚本:
将脚本保存到一个目录,例如/usr/local/bin/。

sudo nano /usr/local/bin/start-service.sh

将上述脚本内容粘贴进去,然后保存文件。

赋予脚本可执行权限:
确保脚本具有可执行权限:

sudo chmod +x /usr/local/bin/start-service.sh

创建init脚本:
在/etc/init.d/目录下创建一个init脚本:

sudo nano /etc/init.d/start-service

添加以下内容到init脚本:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          start-service
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop:     $network $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: 启动start-service脚本
### END INIT INFOcase "$1" instart)echo "启动start-service"/usr/local/bin/start-service.sh &;;stop)echo "停止start-service"pkill -f /usr/local/bin/start-service.sh;;restart)echo "重启start-service"pkill -f /usr/local/bin/start-service.sh/usr/local/bin/start-service.sh &;;*)echo "用法: /etc/init.d/start-service {start|stop|restart}"exit 1;;
esacexit 0

保存并关闭文件。

赋予init脚本可执行权限:
确保init脚本具有可执行权限:

sudo chmod +x /etc/init.d/start-service

注册init脚本:
使用update-rc.d命令将脚本注册为开机自启动:

sudo update-rc.d start-service defaults

验证:
可以手动启动脚本来验证其是否正常工作:

sudo /etc/init.d/start-service start

并检查其是否已经成功启动。你可以使用以下命令停止脚本:

sudo /etc/init.d/start-service stop

通过以上步骤,start-service.sh脚本将在系统启动时自动运行,并在检测到任意一个指定的IP地址时退出循环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/25807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python tushare股票量化数据处理:学习中

1、安装python和tushare及相关库 matplotlib pyplot pandas pandas_datareader >>> import matplotlib.pyplot as plt >>> import pandas as pd >>> import datetime as dt >>> import pandas_datareader.data as web 失败的尝试yf…

什么是Socket?

什么是Socket? Socket(套接字)是网络通信的基本单位,它允许在不同计算机之间进行数据交换。Socket在网络编程中起着至关重要的作用,它为应用程序提供了一个机制,通过网络发送和接收数据。简单地说&#xf…

使用NetAssist网络调试助手在单台计算机上配置TCP服务器和客户端

要使用NetAssist网络调试助手在同一台计算机上配置一个实例作为服务器(server)和另一个实例作为客户端(client),可以按照以下步骤进行操作: 前提条件 确保已经安装NetAssist网络调试助手,并了…

mysql 小例子

mysql 小例子 show databases ; create database company; use company;DROP TABLE IF EXISTS employee;create table employee ( id INT AUTO_INCREMENT, name VARCHAR(50) NOT NULL, PRIMARY KEY(id)) ENGINEInnoDB; DESCRIBE employee ;111 CREATE TABLE example (id INT …

如何制定工程战略

本文介绍了领导者如何有效制定工程战略,包括理解战略核心、如何收集信息并制定可行的策略,以及如何利用行业最佳实践和技术债务管理来提升团队效能和产品质量。原文: How to Build Engineering Strategy 如果你了解过目标框架(如 OKR&#xf…

数仓建模中的一些问题

​​​在数仓建设的过程中,由于未能完全按照规范操作, 从而导致数据仓库建设比较混乱,常见有以下问题: 数仓常见问题 ● 数仓分层不清晰:数仓的分层没有明确的逻辑,难以管理和维护。 ● 数据域划分不明确…

yield 和 生成器(generator)

Python3 迭代器 https://www.runoob.com/python3/python3-iterator-generator.html #!coding:utf8#author:yqq #date:2020/1/14 0014 15:21 #description:class MyNumber:def __init__(self, init_number 1 , bound_number 99999):self.n init_numberself.bound bound_nu…

Duck Bro的第512天创作纪念日

Tips:发布的文章将会展示至 里程碑专区 ,也可以在 专区 内查看其他创作者的纪念日文章 我的创作纪念日第512天 文章目录 我的创作纪念日第512天一、与CSDN平台的相遇1. 为什么在CSDN这个平台进行创作?2. 创作这些文章是为了赚钱吗&#xff1f…

详细说说机器学习在安防领域的应用

机器学习在安防领域的应用日益广泛,其强大的数据分析和模式识别能力为安全监控、预警和防范带来了革命性的变化。以下是机器学习在安防领域的几个主要应用: 异常检测: 通过学习监控画面中的正常运行状态,智能安防系统可以在遇到异…

算法金 | AI 基石,无处不在的朴素贝叶斯算法

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 历史上,许多杰出人才在他们有生之年默默无闻, 却在逝世后被人们广泛追忆和崇拜。 18世纪的数学家托马斯贝叶斯…

用函数指针求a和b中的大者

指针变量也可以指向一个函数。一个函数在编译时被分配给一个入口地址。这个函数入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。 先按一般方法编写程序: 可以用一个指针变量指向max函数,然后通过该指…

【python/pytorch】已解决ModuleNotFoundError: No module named ‘torch‘

【PyTorch】成功解决ModuleNotFoundError: No module named torch 一、引言 在深度学习领域,PyTorch作为一款强大的开源机器学习库,受到了众多研究者和开发者的青睐。然而,在安装和使用PyTorch的过程中,有时会遇到一些问题和挑战…

NLP--词袋模型

词袋模型如同所有单词打散放到一个袋子中,因此这种模型无法估计语义和语序问题,每个单词都是独立的。 1.文本分词:调用jieba库,使用精确模式对每个句子进行分词,并存入列表。 2.去除停用词:遍历停用词文件…

地图元素。

常见的地图元素: 道路(Road): 主要道路(如高速公路、主干道)次要道路(如街道、小巷)辅助道路(如人行道、自行车道)车道(Lane)&#x…

爬山算法介绍(极简)

一、引言 爬山算法,作为一种启发式搜索算法,是人工智能和运筹学领域中的经典算法之一。它通过模拟人类爬山的直观过程,逐步向评价函数值更优的方向“攀爬”,以期找到局部最优解。尽管这种算法有其局限性,特别是容易陷入…

排序-快排算法对数组进行排序

目录 一、问题描述 二、解题思路 1.初始化 2.将右侧小于基准元素移到左边 3.将左侧大于基准元素移到右边 4.重复执行上面的操作 5.对分好的左、右分区再次执行分区操作 6.最终排序结果 三、代码实现 四、刷题链接 一、问题描述 二、解题思路 快排算法实现数组排序&am…

内存EDAC的内核支持情况

Linux内核对EDAC(Error Detection and Correction)支持的发展体现了对硬件错误管理和系统可靠性的持续重视。 EDAC作为Linux内核的一部分,其早期集成主要集中在基本的内存错误检测和纠正功能上,为ECC内存提供了基础支持。随着内核…

算法 | 拯救小a之如何获取多行数据

小a生活在一个只有26个小写字母的文本里,我们知道在26个小写字母里,a是字典序最小的,所以小a十分的自卑,今天小a实在是受不了了,他想和伙伴们一起逃出这个文本,在逃出之前,他想问问你&#xff0…

力扣每日一题130:被围绕的区域

题目 中等 相关标签 相关企业 给你一个 m x n 的矩阵 board ,由若干字符 X 和 O ,找到所有被 X 围绕的区域,并将这些区域里所有的 O 用 X 填充。 示例 1: 输入:board [["X","X","X"…

从GPU到ASIC,博通和Marvell成赢家

ASIC市场上,博通预计今年AI收入将达到110亿美元以上,主要来自与Google和Meta的合作;Marvell预计2028年AI收入将达到70亿至80亿美元,主要来自与Amazon和Google的合作。 随着芯片设计和系统复杂性的增加,科技大厂将更多地…