サーバープログラムを再起動するためのBashスクリプトの書き方
最も重要なプログラムを可能な限りオンラインに保つために(サーバーがクラッシュまたは再起動した後でも)、短いbashスクリプトを作成して、プログラムが実行されているかどうかを確認し、実行されていない場合は起動します。 cronを使用してスクリプトを定期的に実行するようにスケジュールすることにより、プログラムがダウンしたときにプログラムが確実に再起動するようにすることができます。
Bashスクリプト
このプロセスの最初のステップは、スクリプト自体を作成することです。 upstart、supervisor、monitなど、非常に微妙な方法で仮想プライベートサーバー上のアプリケーションを起動および監視する機能を備えたさまざまなプログラムがあります。このbashスクリプトは、単にオンスイッチを提供します。
以下は、apacheが検出された場合に開始するサンプルスクリプトです。
nano launch.sh
#!/bin/sh ps auxw | grep apache2 | grep -v grep > /dev/null if [ $? != 0 ] then /etc/init.d/apache2 start > /dev/null fi
スクリプトを保存したら、スクリプトを実行できるようにするために、実行可能権限をスクリプトに付与する必要があります。
chmod +x launch.sh
Apacheは、必要なアプリケーションに置き換えることができます。 さまざまなアプリケーション用にスクリプトを設定する場合は、それぞれに新しいスクリプトを作成して、cronファイルの独自の行に配置できます。
cronセットアップ
スクリプトを入手したら、スクリプトを実行するスケジュールを設定する必要があります。 cronユーティリティを使用すると、スクリプトを実行する間隔をスケジュールできます。 cronファイルを開くことから始めます。
crontab -e
Cronには、最初にタイミングシステムがどのように機能するかについての詳細な説明があります。
スクリプトを実行する頻度がわかれば、対応する行に書き込むことができます。
スクリプトをcronで実行できるのは、ほとんどの場合1分ごとです。 このような小さな増分を設定する場合は、次のテンプレートを使用できます。
* * * * * ~/launch.sh
5分ごとに次のように設定されます。
*/5 * * * * ~/launch.sh
続きを見る
この単純なスクリプトを設定すると、何らかの理由でシャットダウンした後もプログラムが起動し続けます。 これは、プログラムがダウンする最長の時間がcron構成で指定した時間間隔であることを保証するので便利です。
さらに微妙なプログラムが必要な場合は、いくつかのサーバー監視プログラム( Supervisor 、 Upstart 、または)のいずれかを使用してスタートアップの詳細を設定できます。 Monit )。