Linux システムで Systemd と Crontab を使用してアプリケーションを自動的に再起動する方法
SystemdとCrontabを使用してLinuxシステムのアプリケーションを自動的に再起動するには、次の手順に従います。
- /etc/systemd/system/
- 日本に帰国するとき、空港で買いました。
- myapp.サービス
[Unit]
Description=My App
After=network.target
[Service]
ExecStart=/path/to/your/app
Restart=always
User=youruser
[Install]
WantedBy=multi-user.target
本例では、myapp という名前のサービスを定義しています。これはネットワークの起動後に開始され、停止した場合は自動的に再起動されます。
- サービスの起動と有効化: 次のコマンドを使用してサービスを起動し、システム起動時に自動的に有効にします:
sudo systemctl start myapp
sudo systemctl enable myapp
- crontabファイルを開くには、次のコマンドを使用します。
crontab -e
起動しているエディタに以下の行を追加して、アプリケーションを再起動する定期タスクを定義します。
* * * * * systemctl restart myapp
この例では、タスクは 1 分ごとに実行され、Systemd を使用して myapp サービスを再起動します。
- エディタで保存して終了すると、 crontab は自動的にスケジュールされたジョブを読み込んで実行します。
システム起動時にアプリケーションが自動起動し、異常終了時にはSystemdにより自動再起動されるようになりました。また、Crontabにより定期的にチェックされ、再起動が行われるため、常時アプリケーションが動作するようにします。
これらのコマンドの一部には、sudo または管理者権限で実行する必要があることに注意してください。