240806-在Linux/RHEL开机中自动启动bash脚本

news2024/11/14 22:49:42

在这里插入图片描述

A. 常规方法

要在Red Hat Enterprise Linux (RHEL) 中设置开机启动的bash脚本,可以使用以下方法之一:

方法1:使用/etc/rc.d/rc.local

  1. 打开/etc/rc.d/rc.local文件:

    sudo vi /etc/rc.d/rc.local
    
  2. 在文件末尾添加你想要执行的bash脚本命令。例如:

    /path/to/your_script.sh
    
  3. 保存文件并退出编辑器。

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

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

方法2:使用systemd服务

  1. 创建一个自定义的systemd服务文件。例如,创建一个名为my_script.service的文件:

    sudo vi /etc/systemd/system/my_script.service
    
  2. 添加以下内容到该文件中:

    [Unit]
    Description=My Script Service
    After=network.target
    
    [Service]
    ExecStart=/path/to/your_script.sh
    Type=simple
    
    [Install]
    WantedBy=multi-user.target
    
  3. 保存文件并退出编辑器。

  4. 重新加载systemd管理器配置:

    sudo systemctl daemon-reload
    
  5. 启用并启动该服务:

    sudo systemctl enable my_script.service
    sudo systemctl start my_script.service
    

方法3:使用crontab

  1. 编辑root用户的crontab文件:

    sudo crontab -e
    
  2. 添加以下行以在系统启动时执行你的bash脚本:

    @reboot /path/to/your_script.sh
    
  3. 保存文件并退出编辑器。

选择一种方法并按照步骤操作即可确保你的bash脚本在RHEL开机时自动执行。

B. conrtab编辑

crontab文件中,可以使用井号(#)来注释内容。任何以#开头的行都会被认为是注释,并且不会被执行。这在你想要添加注释说明或临时禁用某个任务时非常有用。

示例

以下是一些示例,展示如何在crontab文件中添加注释:

  1. 添加注释说明

    # This is a sample crontab file
    # The following command runs a backup script every day at 2 AM
    0 2 * * * /path/to/backup_script.sh
    
  2. 临时禁用任务

    # Temporarily disabling the database cleanup job
    # 0 3 * * * /path/to/cleanup_script.sh
    

步骤

  1. 打开crontab文件进行编辑:

    crontab -e
    

    如果要编辑root用户的crontab文件:

    sudo crontab -e
    
  2. 在文件中添加注释或注释掉某行:

    # This job runs every day at midnight
    0 0 * * * /path/to/daily_job.sh
    
    # Temporarily disable the weekly report job
    # 0 6 * * 1 /path/to/weekly_report.sh
    
  3. 保存并退出编辑器(在vim中,按下Esc键,然后输入:wq并按下Enter)。

验证crontab

查看当前用户的crontab任务:

crontab -l

查看root用户的crontab任务:

sudo crontab -l

确保你的注释内容正确显示,未被错误地执行。

C. 内容解释

crontab中的内容@reboot /home/lgk/init.sh表示在系统每次重启时,运行位于/home/lgk/init.sh的脚本。

详细解释

  • @reboot:这是cron中的特殊时间字符串,表示该任务将在系统每次启动(重启)时运行。与标准的时间格式不同,@reboot不需要指定具体的时间点,而是自动在系统启动时触发。

  • /home/lgk/init.sh:这是要执行的脚本的完整路径。该脚本将在系统重启后被执行。

如何添加

  1. 打开crontab文件进行编辑:

    crontab -e
    

    如果是root用户的任务,可以使用:

    sudo crontab -e
    
  2. 添加以下行到crontab文件:

    @reboot /home/lgk/init.sh
    
  3. 保存并退出编辑器(在vim中,按下Esc键,然后输入:wq并按下Enter)。

检查和验证

  • 查看当前用户的crontab任务:

    crontab -l
    
  • 查看root用户的crontab任务:

    sudo crontab -l
    

确认脚本可执行

确保你的脚本/home/lgk/init.sh具有执行权限。可以通过以下命令来设置:

chmod +x /home/lgk/init.sh

总结

@reboot /home/lgk/init.sh是一条crontab任务,它在系统启动时自动执行/home/lgk/init.sh脚本。这对于需要在系统启动时执行初始化任务、配置服务或启动应用程序非常有用。

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

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

相关文章

Plus机型成为历史?iPhone 17系列带来全新阵容

苹果公司一直以来都是科技创新的领航者,每一次新品发布都会引发全球消费者的热烈关注。据最新消息,苹果计划于2024年秋季推出全新的iPhone 17系列,这一代iPhone将以其独特的设计、卓越的性能和创新的功能再次刷新人们对智能手机的认知。 一、…

【算法设计题】基于front、rear和count的循环队列初始化、入队和出队操作,第6题(C/C++)

目录 第3题 基于front、rear和count的循环队列初始化、入队和出队操作 得分点(必背) 题解:基于front、rear和count的循环队列初始化、入队和出队操作 数据结构定义 代码解答 详细解释 1. 循环队列初始化 2. 循环队列入队 3. 循环队列…

分库分表的使用场景和中间件

文章目录 一、为什么要分库分表?分库分表的使用场景?二、分库分表常用中间件1、Cobar2、TDDL3、Atlas4、Sharding-jdbc5、Mycat6、总结 一、为什么要分库分表?分库分表的使用场景? 场景1:注册用户就 20 万&#xff0c…

1.4 C 程序的编译过程与 CLion 调试技巧

目录 1 程序的编译过程 1.1 编写源代码 1.2 预处理(Preprocessing) 1.3 编译(Compilation) 1.4 汇编(Assembly) 1.5 链接(Linking) 1.6 执行 2 编译过程的输入输出文件概览 …

7-1 深度学习硬件:CPU和GPU

L 3 L3 L3、 L 2 L2 L2、 L 1 L1 L1为cache,数据只有进入寄存器的时候,才能开始运算。 (此图错误,一个矩阵应该是按行存储的!) GPU的核要远远多于CPU,从而TFLOPS,GPU每秒能做的…

Vue3.0与Echarts5

1.课程介绍与目标 有句话说的好“一图胜千言”,在我们开发的领域就是说,在对于复杂难懂且体量庞大的数据展示上面而言,图表的信息量要大得多,这也是我们为什么要谈数据可视化。https://notes.xiyankt.com/#/echarts/echarts​ stu…

深入理解 Apollo Client 的缓存策略

前言 上一篇文章:Nextjs 使用 graphql,并且接入多个节点 介绍了如何接入 graphql,并且使用 Apollo client 来请求和操作数据。后面深入了解了一下其缓存策略,想着有必要整理出来,作为后续学习。有任何问题还请批评指正…

八股之Java基础

注:本文部分内容源自Java 面试指南 | JavaGuide 一、基础概念与常识 1.JVM、JDK、JRE JVM:Java Virtual Machine,虚拟机,运行Java字节码,实现Java的平台无关性 JDK:Java Development Kit,Ja…

PwnLab: init-文件包含、shell反弹、提权--靶机渗透思路讲解

Vulnhub靶机链接回【PwnLab】 首页有一个登录框 image-20240807124822770 他没有验证码,我们试试暴力破解 image-20240807122743025 开始爆破了,全部失败,哈哈哈 image-20240807122851001 nmap全端口扫描试试 image-20240807131408315 有…

无法访问jakarta.servlet.http.HttpServletRequest

1、问题 无法访问jakarta.servlet.http.HttpServletRequest2、原因 JDK1.8升级到高版本后&#xff0c;需要手动引入jakarta.servlet-api 3、解决 增加依赖 <dependency><groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</ar…

6.2.面向对象技术-UML图

UML UML事物关系依赖关联聚合组合 泛化实现 类图对象图用例图序列图通信图状态图活动图构件图部署图练习题 UML 上午选择题3-4分&#xff0c;下午案例分析必考 UML是统一建模语言&#xff0c;和程序设计语言并无关系。 UML三个要素&#xff1a;UML的基本构造块、支配这些构造…

代码随想录算法训练营第二十一天 | 77. 组合, 216.组合总和III , 17.电话号码的字母组合

目录 77. 组合 思路 回溯法三部曲 方法一&#xff1a; 回溯未剪枝 方法二&#xff1a;回溯剪枝 心得收获 216.组合总和III 思路 方法一&#xff1a;回溯-没有使用sum来统计path里元素的总和 方法二&#xff1a;回溯&#xff0c;使用sum来保存当前路径上的总和 心得…

如何应用OceanBase 的实时SQL诊断,解决AP场景下的痛点

随着数据量的快速增长与用户需求的变化&#xff0c;数据库的管理与优化工作日益凸显其重要性。作为DBA及开发者&#xff0c;您是否曾面临以下挑战&#xff1a; ○ 分析场景下&#xff0c;在处理大规模数据的且耗时较长的查询是&#xff0c;常涉及海量数据的处理及复杂的计算&…

Python 设计模式之工厂函数模式

文章目录 案例基本案例逐渐复杂的案例 问题回顾什么是工厂模式&#xff1f;为什么会用到工厂函数模式&#xff1f;工厂函数模式和抽象工厂模式有什么关系&#xff1f; 工厂函数模式是一种创建型设计模式&#xff0c;抛出问题&#xff1a; 什么是工厂函数模式&#xff1f;为什么…

Vue3学习笔记第一天

MVVM Vue是一种用于构建用户界面的JavaScript框架。MVVM 是Vue采用的一种软件架构模式&#xff0c;用于构建交互式的用户界面。它的全称是 Model-View-ViewModel&#xff0c;这三个部分分别代表了应用程序的不同层次和角色&#xff1a; Model&#xff08;模型&#xff09;&…

【ARM】v8架构programmer guide(3)_ARMv8的寄存器

目录 4.ARMv8 registers 4.1 AArch64 特殊寄存器 4.1.1 Zero register 4.1.2 Stack pointer &#xff08;SP) 4.1.3 Program Counter &#xff08;PC) 4.1.4 Exception Link Register(ELR) 4.1.5 Saved Process Status Register &#xff08;SPSR&#xff09; 4.2 Proc…

性能测试基础概念

前言&#x1f440;~ 上一章我们介绍了单元测试Junit的使用&#xff0c;今天我们来讲解一下性能测试的一些基础概念为后面我们进行性能测试做铺垫 什么是性能测试&#xff1f; 性能测试和功能测试有什么区别&#xff1f; 影响一个软件性能因素有哪些&#xff1f; 为什么要进…

循环神经网络和自然语言处理一

目录 一.分词 1.分词工具 2.分词的方法 3.N-gram表示方法 二.向量化 1.one-hot编码 2.word embedding 3.word embedding API 4.数据形状改变 既然是自然语言&#xff0c;那么就有字&#xff0c;词&#xff0c;句了 一.分词 1.分词工具 tokenization&#xff0c;jie…

Outlook Pst文件大小最大多大?如何分开缩减?

簡介 預設情況下&#xff0c;personal Folders (.pst) 和離線 Outlook Data File (.ost) 檔案在 Microsoft Outlook 2010 和 Outlook 2013 中為 Unicode 格式。 .pst 和 .ost 檔案的整體大小有 50 GB 的預先設定限制。 此限制大於 2007 和 Outlook 2003 Outlook Unicode .pst …

零基础5分钟上手亚马逊云科技AWS核心云开发/云架构知识 - 成本分析篇

简介&#xff1a; 欢迎来到小李哥全新亚马逊云科技AWS云计算知识学习系列&#xff0c;适用于任何无云计算或者亚马逊云科技技术背景的开发者&#xff0c;让大家零基础5分钟通过这篇文章就能完全学会亚马逊云科技一个经典的服务开发架构方案。 我将每天介绍一个基于亚马逊云科…