この記事の目的は、Ubuntu 22.04 Jammy Jellyfish Server/Desktopでシステムの起動時に実行されるようにBashスクリプトやPythonスクリプトなどのスクリプトを構成することです。
このチュートリアルでは、次のことを学びます。
- Systemdサービスユニットの作成方法
- 簡単なディスク容量チェックスクリプトを作成する方法
- Systemdサービスユニットファイルに権限を設定する方法
- スクリプトの権限を設定する方法
- Systemdサービスユニットをシステムの起動時に実行できるようにする方法
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
システム | Ubuntu22.04ジャミークラゲ |
ソフトウェア | N / A |
その他 | rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 |
コンベンション | # –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
Ubuntu22.04での起動時にスクリプトを実行する方法ステップバイステップの説明
Ubuntu 22.04はSystemdに基づいているため、起動時にスクリプトを実行する最も簡単で推奨される方法は、Systemdサービスファイルを作成し、システムの起動中にこのサービスを介してbash、pythonなどのスクリプトを実行することです。
以下の手順は、/home
のディスクスペース使用量を報告するbashスクリプトの例を実行する方法を示しています。 ディレクトリを作成し、レポートを/root
に保存します Ubuntu22.04システムが起動するたびにディレクトリ。
- まず、以下の例のようにSystemdサービスファイルを作成します。このファイルを
/etc/systemd/system/disk-space-check.service
として保存します 。[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
まとめ
このチュートリアルでは、システムの起動ごとにスクリプトを実行するようにUbuntu22.04を構成する方法を説明しました。これは、Ubuntuがシステムの再起動から読み込まれるたびにBashまたはPythonスクリプトが実行されるようにするために、システム管理者が実装するのに便利な機能です。
Ubuntu 22.04 JammyJellyfishLinuxにKDEプラズマデスクトップをインストールする方法
Ubuntu 22.04 LTS JammyJellyfishLinuxにG++C++コンパイラをインストールする方法