この記事では、Ubuntu20.04サーバー/デスクトップでの起動時にスクリプト(python、bashなど)を実行する方法を学習します。
このチュートリアルでは、次のことを学びます。
- Systemdサービスユニットの作成方法
- 簡単なディスク容量チェックスクリプトを作成する方法
- Systemdサービスユニットファイルに権限を設定する方法
- スクリプトの権限を設定する方法
- Systemdサービスユニットをシステムの起動時に実行できるようにする方法
Ubuntu 20.04 FocalFossaKDEサーバー/デスクトップで起動時にスクリプトを実行する方法
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
Ubuntu20.04をインストールまたはUbuntu20.04FocalFossaをアップグレード | |
N / A | |
rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
Ubuntu20.04での起動時にスクリプトを実行する方法ステップバイステップの説明
Ubuntu 20.04はSystemdに基づいているため、起動時にスクリプトを実行する最も簡単で推奨される方法は、Systemdサービスファイルを作成し、システムの起動中にこのサービスを介してbash、pythonなどのスクリプトを実行することです。
以下の手順は、/home
のディスクスペース使用量を報告するbashスクリプトの例を実行する方法を示しています。 ディレクトリを作成し、レポートを/root
に保存します Ubuntuシステムが起動するたびにディレクトリ。
- まず、次の例のようにSystemdサービスファイルを作成します。
[Unit] After=network.service [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
- これで、システムを再起動する準備が整いました。システムが起動すると、
/root
内のディスクスペース使用量を含む次のファイルが表示されます。 ディレクトリ:$ sudo ls /root/ disk_space_report.txt
AndroidスマートフォンをUbuntu20.04FocalFossaKDEデスクトップでKDE接続に接続する方法
Ubuntu 20.04 LTS FocalFossaLinuxにGitをインストールする方法