如何在 Ubuntu 20.04 Focal Fossa 服务器/桌面上启动时运行脚本
在本文中,您将学习如何在 Ubuntu 20.04 服务器/桌面上启动时运行脚本(python、bash 等)。
在本教程中您将学习:
如何创建Systemd服务单元
如何创建简单的磁盘空间检查脚本
如何设置Systemd服务单元文件的权限
如何设置脚本权限
如何让Systemd服务单元在系统启动时运行
如何在 Ubuntu 20.04 Focal Fossa KDE 服务器/桌面上启动时运行脚本
如何在 Ubuntu 20.04 上启动时运行脚本分步说明
Ubuntu 20.04 基于 Systemd,因此在启动时运行脚本的最简单且推荐的方法是创建 Systemd 服务文件并在系统启动期间通过此服务执行任何脚本,例如 bash、python 等。
以下步骤将向您展示运行示例 bash 脚本,该脚本会在每次 Ubuntu 系统时报告 /home
目录的磁盘空间使用情况并将报告保存在 /root
目录中靴子。
首先,创建一个 Systemd 服务文件,如下例所示:
[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
命令。创建一个在 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
为 Systemd 服务单元和脚本设置适当的权限:
$ sudo chmod 744 /usr/local/bin/disk-space-check.sh $ sudo chmod 664 /etc/systemd/system/disk-space-check.service
接下来启用服务单元:
$ sudo systemctl daemon-reload $ sudo systemctl enable disk-space-check.service
$ sudo ls /root/
disk_space_report.txt