在 Ubuntu 中设置启动和关闭脚本

2023-11-09

Linux 操作系统的强大功能之一是能够通过在启动、关闭或重新启动时运行脚本来控制系统的行为。本文作为在 Ubuntu Linux 中设置这些脚本的实用指南。从自动化日常任务到初始化服务,潜在的用例几乎是无限的。让我们深入探讨如何利用此功能来发挥您的优势。

启动和关闭脚本的基础知识

在深入研究这些脚本的配置之前,让我们快速介绍一下基础知识。 Ubuntu Linux 中的启动脚本是系统启动时运行的 shell 脚本。另一方面,关闭脚本在系统关闭或重新启动时运行。

这些脚本驻留在 Linux 文件系统内的特定目录中。例如,`/etc/rc.d/`目录通常用于存储启动脚本。这些目录根据“运行级别”进行组织,“运行级别”代表 Linux 系统在任何给定时间的状态。相比之下,`/etc/rc6.d/` and `/etc/rc0.d/`分别是在关机和重新启动时运行的脚本的目录。

设置启动脚本

以下是在 Ubuntu Linux 中设置启动脚本的简单方法:

  1. Create a Script: Open your favorite text editor and write your script. For instance, if you want to update your system every time it starts up, your script could look something like this:
    1
    2
    #!/bin/bash
    apt-get update -y && apt-get upgrade -y

    请记住包括`#!/bin/bash`在脚本的开头指定它应该使用 Bash shell 运行。

  2. 使脚本可执行:将脚本保存到文件中,例如,`更新.sh`,并通过运行以下命令使其可执行:
    chmod +x /path/to/your/script/update.sh 
    
  3. 将脚本移动到启动目录:将您的脚本移至`/etc/init.d/`目录,用于启动脚本。您可以使用MV命令为了这:
    sudo mv /path/to/your/script/update.sh /etc/init.d/ 
    
  4. 注册脚本:最后,将您的脚本注册到系统中以在启动时运行。您可以使用`更新-rc.d`命令:
    sudo update-rc.d update.sh defaults 
    

    这里的defaults关键字指定脚本应该在默认的运行级别上运行。

设置关闭脚本

设置关闭脚本与启动脚本非常相似,只有细微的差别。步骤如下:

  1. Create a Script: Write your shutdown script. For instance, a script that sends a backup of a specific directory to a remote server upon shutdown might look like this:
    1
    2
    #!/bin/bash
    rsync -av /path/to/目录user@remote:/path/to/backup
  2. 使脚本可执行:和以前一样,将脚本保存到文件中,例如,`备份.sh`,并使其可执行:
    chmod +x /path/to/your/script/backup.sh 
    
  3. 将脚本移至关闭目录:将您的脚本移至/etc/rc0.d/目录,用于关闭脚本。您可以使用MV命令为了这:
    sudo mv /path/to/your/script/backup.sh /etc/rc0.d/ 
    

    同样,如果您希望脚本在重新启动时运行,则应将其移至`/etc/rc6.d/`目录。

  4. Rename the Script: Shutdown and reboot scripts require a specific naming convention: `KXX<name>`, where `XX` is a two-digit number representing the order in which the scripts are run (lower numbers run first) and is the name of the script. You can rename your script using the mv command:
    sudo mv /etc/rc0.d/backup.sh /etc/rc0.d/K99backup 
    

结论

总之,启动和关闭脚本提供了一种在 Ubuntu Linux 中自动化和控制系统进程的强大方法。无论您管理个人计算机还是企业服务器,了解如何创建和管理这些脚本都是一项基本技能。

请注意,使用系统脚本可能会对您的系统产生深远的影响。始终仔细检查您的脚本,并确保在将它们部署到主系统上之前在安全的环境中对其进行测试。快乐的脚本编写!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ubuntu 中设置启动和关闭脚本 的相关文章

  • Head First Design Mode(15)-必以此终(模式分类及其他的设计模式)

    这即将是我所整理的设计模式的最终章 看看时间竟然已经过去了3个月了 时光太匆匆 主要内容 这里我会把我们已经学习到的设计模式进行归类划分 便于记忆 此外还会介绍下 原书中未提及的部分设计模式 做简单介绍 我们已经介绍过的设计模式 策略模式
  • SSH介绍和使用,SSH key教程

    1 SSH SSH 为 Secure Shell 的缩写 由 IETF 的网络小组 Network Working Group 所制定 利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题 简单说 SSH是一种网络协议 用于计算机之间
  • Matplotlib:rcParams使用

    一 什么是rcParams 我们在使用matplotliblib画图的时候经常会遇见中文或者是负号无法显示的情况 我们会添加下面两句话 from matplotlib pylab import mpl mpl rcParams font s
  • Docker 入门(一) ubuntu 镜像 安装 jdk1.8

    描述 Docker简介 感兴趣的可以看下 因为最近工作需要 简单看了下Docker 此贴作为学习整理 搭建环境 ubuntu18 安装 详细安装教程传送门 先卸载可能存在的旧版本 sudo apt remove docker docker
  • MySQL之DDL

    MySQL之DDL 基本操作 查看所有数据库名称 SHOW DATABASES 切换数据库 USE mydb1 切换到mydb1数据库 操作数据库 创建数据库 CREATE DATABASE IF NOT EXISTS mydb1 创建数据
  • vue项目引入video.js播放不同格式视频

    很多小伙伴使用原生video标签播放服务器返回的地址的视频 但是会发现video标签对视频的格式限制很多 限制MP4 WebM Ogg三种格式的视频格式 但是对于需求不限制于此 就需要引入插件库 这里引入第三方插件库video js来实现更
  • HTML 标签 title属性 鼠标悬停文字显示

    a href ekp kms multidoc kms multidoc knowledge kmsMultidocKnowledge do method view fdId casePagelist fdId target blank t
  • Ubuntu19.04下Anaconda4.7.10+cuda10.1+cuDNN7.6.2+tensorflow2.0+pytorch1.1深度学习环境配置总结

    安装的前提是你已经安装好显卡驱动 如果没有安装好 丢个传送门关于ubuntu19 04下安装独立显卡驱动 安装Anaconda4 7 10 先去anaconda官网下载 这里选择则64 Bit x86 Installer 然后在下载目录打开
  • VB下关闭xp/win7安全模式(即关闭F8)

    亲测方法 1 注册表修改 使用管理员级别帐户登录XP Win7 在 运行 窗口中输入 regedit 打开注册表编辑器 找到HKEY LOCAL MACHINE SYSTEM CurrentControlSet Control SafeBo
  • python调用github,如何在python中使用github api令牌进行请求

    I m able to obtain Github api token in python using username and password but i m not able to use that API Token for req
  • python 批量爬取网页pdf_python爬取网页内容转换为PDF文件

    如何利用Python抓取PDF中的某些内容 你的问题事实上包含几部分 将 PDF 转化为纯文本格式 抽取其中部分内容 格式化写入到 excel 中 转换 PDF 有很多库可以完成 如下是通过 pdfminer 的示例 from cStrin
  • 老男孩26期运维班linux基础知识大比拼即将开始

    老男孩26期运维班linux基础知识大比拼 1 比赛说明 比赛时间 2015年11月12日下午15点 比赛地点 老男孩教育教室二 比赛人员 老男孩教育26期全体同学 奖项 团体奖 按组奖励共1 9组 一等奖奖励300元人民币或每人老男孩老师
  • Ubuntu 18.04 下运行docker 编译aosp (android 7.1.2, 8.0.0,9.0.0)

    目录 编译aosp 的辛酸 官方推荐编译方式 源码下载 制作docker镜像 开始编译 错误处理 7 1 1 r20 问题 9 0 0 r46 8 0 0 r2 编译aosp 的辛酸 这几天想编译一个能脱壳的 aosp Android源码
  • java json数组遍历_java JSONArray 遍历方式(2种)

    第一种 java8 遍历JSONArray 拼接字符串 public static void main String args JSONArray jSONArray new JSONArray JSONObject jb new JSON
  • 【面试系列】反转链表

    题意 原题链接 代码 1 1 1 递归 Definition for singly linked list struct ListNode int val ListNode next ListNode val 0 next nullptr
  • 某电商在线奶粉销量数据分析-SQL+Tableau自动化分析

    本文数据集来源 Baby Goods Info Data 数据库 MySQL 数据库管理软件 DataGrip 可视化分析软件 Tableau 本文sql文件 可视化分析源文件地址 DataScience 文章目录 数据预处理与导入 导入数
  • tomcat部署、tomcat虚拟主机及tomcat多实例、tomcaty优化

    目录 一 Tomcat概述 tomcat是什么 什么是 servlet 什么是 JSP Tomcat 功能组件结构 Container 结构分析 Tomcat 请求过程 二 Tomcat部署 1 关闭防火墙和selinux 并将Tomcat
  • sprintf函数的用法

    说明1 该函数包含在stdio h的头文件中 使用时需要加入 include
  • 测试经验小谈

    一 注意事项 新建一条数据时 如果有数据新建的时间 注意核对是否与当前时间相同 告知开发要进行测试 让开发停止提交代码 包证当前测试的结果只针对当前版本 准确定位BUG 同时 防止引入新的BUG 关于断网测试 明确当前的软件是否需要断网测试
  • 自动化测试 —— Pytest测试框架

    01 简介 Pytest是一个非常成熟的全功能的Python测试框架 主要有以下特点 简单灵活 容易上手 文档丰富 支持参数化 可以细粒度地控制测试用例 支持简单的单元测试与复杂的功能测试 还可以用来做Selenium Appium Req

随机推荐

  • ubuntu 上安装 oprofile

    1 wget http prdownloads sourceforge net oprofile oprofile 0 9 6 tar gz 2 tar zxf oprofile 0 9 6 tar gz 3 configure check
  • win10计算机管理不可用,win10管理员被禁用怎么办,win10怎么管理员运行

    Win10家庭版出现了Windows Defender 安全中心提示 windows defender 页面不可用 你的IT管理员已经限制对此应用一些区域的访问 你尝试访问的项目不可用 有关详细信息 请与你的IT支持人员联系 话说电脑基本都
  • flask启动mysql报错:1287, @@tx_isolation' is deprecated and will be removed in a future release. Please u

    首先 这只是一个警告 不是报错 并不会影响项目运行 如果项目启动不了 应该是别的地方出问题了 解决办法 在当前python版本的依赖包里找到sqlalchemy dialects mysql里的base py文件修改源码 例如我的 C Us
  • 计算机丢失msvcp110.dll是什么意思?如何修复?

    在修复msvcp110 dll文件的过程中 我经历了一些挑战 但也获得了一些宝贵的经验和感悟 首先 我意识到在遇到msvcp110 dll错误时 不要恐慌 这个问题并不是无解的 只要我们能够采取正确的方法和步骤 很有可能解决它 其次 我学会
  • 共用一块存储union

    2017 02 14 举一个不恰当的例子 你想用二叉树来做表达式树 但是里面既有运算符又有运算数 但是存储节点里面只能有一种类型 不过好在这个还好分析 那就是我只需要判断他是不是叶子就可以知道这个节点里的存储信息 就可以用union的方式来
  • JAVA项目开发之文档篇

    项目开发过程中为了增加程序的可读性和程序的健壮性 方便后期程序的调试和维护 所以需要在开发过程中统一技术规范 一般会在项目初期确定好相关文档作为这一统一的规范 不同公司会对文档做不同要求 划不同的分类 但一般来说 或者拿自己的经验说 大致可
  • loadrunner解决“服务器正在运行中”方法

    loadrunner解决 服务器正在运行中 方法 问题现象 这个问题在上家公司遇见过 今天无意中找到了解决办法 解决方法 打开任务管理器 找到这个进程 ThumbProcess exe 关掉这个进程即可解决
  • SQLi LABS Less-30

    第30关使用GET请求传递参数 在url中构造payload即可 后端源码中并没有做什么过滤 只是在参数两边添加了双引号 输入 1 and true a 页面正常显示 输入 1 and false a 页面空显示 由此可证明存在SQL注入
  • 如何使用 RVM 在 CentOS 和 RHEL 上安装 Ruby 2.1.8

    Warning Ruby 2 1 is reached to end of life and no more maintained Kindly use below tutorials to install latest version o
  • Linux 中的 /etc/mtab 文件是什么

    The etc mtab文件是Linux操作系统中的一个重要组成部分 它包含当前挂载的文件系统的记录 包括设备名称 挂载点和文件系统类型 各种 Linux 命令和实用程序使用此文件中的信息来确定已安装文件系统的状态 etc mtab 文件是
  • 在 Linux 上设置 HTTP 代理:基本指南

    在当今互联的世界中 网络在我们的数字生活中发挥着至关重要的作用 许多 Linux 用户必须处理的网络的一个重要方面是设置 HTTP 代理 本文将指导您完成在 Linux 系统上配置 HTTP 代理的过程 什么是 HTTP 代理 在深入了解该
  • Git Reset:带有示例的综合指南

    Git 是任何软件开发人员不可或缺的工具 它提供了管理和跟踪源代码更改的有效方法 在它的各种命令中 git reset 是一个功能强大的命令 它有助于浏览项目的历史记录 更改提交 甚至丢弃更改 尽管它很实用 但理解起来可能有点混乱 尤其是对
  • 关于将 WordPress 网站迁移到 HTTPS 您需要了解的一切

    Google has been pretty adamant in its efforts to make the web more secure First by proposing that web browsers should st
  • 如何使用 JavaScript forEach() 方法

    JavaScript forEach 方法对数组中的每个元素运行一次 例如 导航到数组并对每个数组元素执行任何操作 JavaScript forEach 方法在这种情况下很有用 JavaScript forEach 方法使用以下语法 arr
  • ZSH 和 BASH 有什么区别?

    当我们浏览类 Unix 操作系统的世界时 我们会遇到不同的 shell 环境 每个环境都有其独特的特性和功能 两种常用的 shell 环境是 Bash Bourne Again Shell 和 Zsh Z Shell 在本文中 我们将深入探
  • 如何在 Linux 中设置/创建环境和 Shell 变量

    Shell 是操作系统的命令解释器 处理在命令行中输入的命令 在 Linux 中广泛使用 变量就像指向特定数据的指针 并保存可以是任何值的特定值 用户可以在 Shell 的帮助下创建 删除或分配变量 当 Shell 运行时 存在三种类型的变
  • 如何在 Ubuntu 16.04 中将 Unity 启动器移动到底部

    将 Unity 启动器移至底部 Ubuntu 16 04 还提供了将 Unity 启动器移动到底部的选项 Ubuntu 早期版本不提供此选项 但现在我们可以将 unity 启动器移动到底部或左侧 本教程将帮助您在 Ubuntu 16 04
  • 什么是 JavaScript 闭包及其示例?

    JavaScript 是一种多功能编程语言 支持多种编程范例 JavaScript 最强大的功能之一是闭包 它允许开发人员创建强大而灵活的代码 在本文中 我们将探讨什么是闭包以及它们如何工作 并提供一些示例 JavaScript 中的闭包是
  • 如何在 Ubuntu 16.04、14.04 和 LinuxMint 18 中安装 Filezilla

    文件齐拉是最流行的跨平台 开源 ftp 客户端 FileZilla 可用作 FTP FTPS 和 SFTP 客户端 具有许多功能和直观的图形用户界面 以下是 FileZilla 的一些主要功能 访问以下网址在 Linux 系统上安装和配置
  • 在 Ubuntu 中设置启动和关闭脚本

    Linux 操作系统的强大功能之一是能够通过在启动 关闭或重新启动时运行脚本来控制系统的行为 本文作为在 Ubuntu Linux 中设置这些脚本的实用指南 从自动化日常任务到初始化服务 潜在的用例几乎是无限的 让我们深入探讨如何利用此功能