Ubuntuで独自に作成したShellScriptをサーバ起動時に自動実行させたい場合の設定です。
Ubuntuの環境はこちらです。
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
ShellScriptの作成
sample.shを作成します。※ユーザ直下に作成したとします
$ vim sample.sh
単純にテキストを出力します。
#!/bin/sh
echo hogehoge >> /var/log/hoge.log
実行権限を付与
作成したShellScriptに実行権限を付与します。
$ chmod +x ./sample.sh
serviceファイルの作成
systemdに作成したShellScriptをサービスとして登録します。
$ sudo vim /etc/systemd/system/hogehoge.service
[Unit]
Description = hogehoge
[Service]
ExecStart = /home/ユーザ名/sample.sh
Restart = always
Type = simple
[Install]
WantedBy = multi-user.target
ExecStartに先ほど作成したスクリプトをフルパスで指定します。
自動起動の設定
こちらのコマンドでサーバ起動時にPowerShellが自動で実行されるように設定します。
$ sudo systemctl enable hogehoge.service