如何在 Ubuntu 22.04 Jammy Jellyfish 服务器/桌面上启动时运行脚本如何在 Ubuntu 22.04 Jammy Jellyfish 服务器/桌面上启动时运行脚本如何在 Ubuntu 22.04 Jammy Jellyfish 服务器/桌面上启动时运行脚本如何在 Ubuntu 22.04 Jammy Jellyfish 服务器/桌面上启动时运行脚本
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 22.04 Jammy Jellyfish 服务器/桌面上启动时运行脚本

本文的目的是在 Ubuntu 22.04 Jammy Jellyfish 服务器/桌面中配置一个脚本(例如 Bash 脚本或 Python 脚本)以在系统启动时运行。

在本教程中您将学习:

  • 如何创建Systemd服务单元

  • 如何创建简单的磁盘空间检查脚本

  • 如何设置Systemd服务单元文件的权限

  • 如何设置脚本权限

  • 如何让Systemd服务单元在系统启动时运行

如何在 Ubuntu 22.04 上启动时运行脚本分步说明

Ubuntu 22.04 基于 Systemd,因此在启动时运行脚本的最简单且推荐的方法是创建 Systemd 服务文件并在系统启动期间通过此服务执行任何脚本,例如 bash、python 等。

以下步骤将向您展示如何运行一个示例 bash 脚本,该脚本会在每次 Ubuntu 22.04 启动时报告 /home 目录的磁盘空间使用情况并将报告保存在 /root 目录中系统启动。

  1. 首先,创建一个 Systemd 服务文件,如下例所示。我们将此文件存储为 /etc/systemd/system/disk-space-check.service。

    [Unit]
    After=network.target
    
    [Service]
    ExecStart=/usr/local/bin/disk-space-check.sh
    
    [Install]
    WantedBy=default.target

    之后:指示 systemd 何时运行脚本。在我们的例子中,脚本将在网络连接后运行。其他示例可能是 mysql.target 等。 ExecStart:此字段提供启动时要执行的实际脚本的完整路径 WantedBy:systemd 单元应安装到哪个引导目标中

    注意
    有关如何创建 Systemd 服务单元的更多信息,请执行 man systemd.unit 命令。

  2. 创建一个在 Ubuntu 系统启动时执行的脚本。如上述步骤 1 中所指定,我们示例中的新脚本的路径和名称将为 /usr/local/bin/disk-space-check.sh。

    下面是此类脚本的示例:

    #!/bin/bash
    
    date > /root/disk_space_report.txt
    du -sh /home/ >> /root/disk_space_report.txt
  3. 为 Systemd 服务单元和脚本设置适当的权限:

    
    $ sudo chmod 744 /usr/local/bin/disk-space-check.sh
    $ sudo chmod 664 /etc/systemd/system/disk-space-check.service
    
  4. 接下来,启用服务单元:

    
    $ sudo systemctl daemon-reload
    $ sudo systemctl enable disk-space-check.service
    
  5. 现在您已准备好重新启动系统。系统启动后,您应该在 /root 目录中看到以下包含磁盘空间使用情况的文件:

    
    $ sudo ls /root/
    disk_space_report.txt
    

结束语

在本教程中,我们了解了如何配置 Ubuntu 22.04 在每次系统启动时运行脚本。对于系统管理员来说,这是一个方便的功能,可以确保每次 Ubuntu 从系统重新启动时加载时都执行 Bash 或 Python 脚本。

©2015-2025 艾丽卡 support@alaica.com