Ubuntuでサーバーの起動時に自動実行されるスクリプトを設定する方法

Ubuntuでサーバーの起動時に自動実行されるスクリプトを設定する方法

この記事では、Ubuntuサーバーの起動時に自動的にスクリプトを実行する方法について説明します。これにより、サーバー起動時に特定のタスクやサービスを自動的に開始できます。

自動実行スクリプトの概要

サーバーの起動時にスクリプトを自動実行するには、スクリプトを適切なディレクトリに配置し、必要な実行権限を設定する必要があります。

スクリプトの作成

まず、実行したいスクリプトを作成します。以下のようにシンプルなシェルスクリプトを作成し、例えば「/usr/local/bin/startup.sh」として保存します。

!/bin/bash

echo "サーバーが起動しました" >> /var/log/startup.log

スクリプトに実行権限を与える

作成したスクリプトに実行権限を付与する必要があります。次のコマンドを使用して権限を設定します。

sudo chmod +x /usr/local/bin/startup.sh

スクリプトを起動時に自動実行する設定

スクリプトを起動時に自動実行するには、/etc/rc.local ファイルを使用します。このファイルにスクリプトを追加します。

sudo nano /etc/rc.local

ファイルの末尾に以下の行を追加します。

/usr/local/bin/startup.sh

変更を保存し、エディターを終了します。

systemdを使用した自動実行スクリプトの設定

最近のUbuntuバージョンでは、systemdを使用することが推奨されています。次に、systemdサービスを作成してスクリプトを実行する方法を説明します。

sudo nano /etc/systemd/system/startup.service

以下の内容でサービスファイルを作成します。

[Unit]
Description=Startup Script

[Service]
ExecStart=/usr/local/bin/startup.sh

[Install]
WantedBy=multi-user.target

次に、サービスを有効化して自動実行を設定します。

sudo systemctl enable startup.service

動作確認

設定が正しく行われたかを確認するため、サーバーを再起動します。再起動後、スクリプトが実行され、ログファイルにメッセージが記録されているか確認します。

sudo reboot

まとめ: 自動実行スクリプトの利便性

スクリプトをサーバー起動時に自動実行することで、サーバー管理がより効率的になります。特定のタスクを自動化するために、この方法を活用してください。