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

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

在这里插入图片描述

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.lryc.cn/news/420601.html

相关文章:

  • 【多线程】乐观/悲观锁、重量级/轻量级锁、挂起等待/自旋锁、公平/非公锁、可重入/不可重入锁、读写锁
  • 31_逻辑漏洞、水平垂直越权、垂直越权漏洞测试、水平越权
  • css写一个按钮流光动画效果
  • AxMath保姆级安装教程(word联用)及使用TIPS
  • Vue-03.指令-v-on
  • 接口基础知识6:详解http request body(一篇讲完常见请求体)
  • Windows Server 安装Web,DHCP,DNS,FTP四大服务及其配置和监控方式
  • 创意指南丨VR游览沉浸式空间体验
  • 【iOS】—— autoreleasePool以及总结
  • 培训第二十五天(python中执行mysql操作并将python脚本共享)
  • LVS实战项目
  • 笔记小结:《利用python进行数据分析》之层次化索引
  • Linux的线程篇章 - 线程池、进程池等知识】
  • 汇昌联信做拼多多运营正规吗?
  • 240810-Gradio自定义Button按钮+事件函数+按钮图标样式设定
  • 排序算法--快速排序
  • springMVC -- 学习笔记
  • 修复本地终端(windows)连接服务器使用zsh出现乱跳的问题
  • 【扒代码】regression_head.py
  • vue2 使用axios 请求后台返回文件流导出为excel
  • MATLAB数据可视化:在地图上画京沪线的城市连线
  • 【AI】CV基础1
  • 数据结构《栈》
  • 说一说mysql的having?和where有什么区别?
  • LeetCode45. 跳跃游戏 II
  • 算法打卡 Day19(二叉树)-平衡二叉树 + 二叉树的所有路径 + 左叶子之和 + 完全二叉树的节点个数
  • 国际以太网专线 (IEPL)/国际专线(IPLC)-全球覆盖,无界沟通
  • 信息安全管理知识体系攻略(至简)
  • HCIE学习笔记:IPV6 地址、ICMP V6、NDP 、DAD (更新补充中)
  • 人工智能】Transformers之Pipeline(九):物体检测(object-detection)