apacheを自動で再起動させる
この記事でやること
apacheを自動で再起動させるためのシェルスクリプトを作成します。
Linuxで何かを定期実行するための参考にもなると思います。
環境はLinux「Debian 8.10」です。
この記事を書くに至った経緯
GCPの無料枠でwebサーバーを作っていた際に、たまにapacheが落ちて接続ができなくなることがまれにあったので、自動で再起動するようにしました。
シェルスクリプト作成
①任意の場所にシェルスクリプトを作成します。
※「stpost.net」の箇所は対象のURLに変更してください
1 2 3 4 5 6 |
GETCODE=$(curl -LI stpost.net -o /dev/null -w '%{http_code}\n' -s) if [ $GETCODE -ne "200" ]; then sudo systemctl stop apache2 sudo systemctl start apache2 fi |
補足:「curl -LI stpost.net -o /dev/null -w ‘%{http_code}\n’ -s」でステータスコードを取得し、後続処理のif文で200(OK)でなければapacheの停止と開始コマンドを実行する内容になっています。
②実行権限の付与
①で作成したファイルに実行権限を付与します
1 |
chmod +x apache_restart.sh |
③定期実行の登録
cronを使って、①で作成したプログラムを1分ごとに定期実行させます。
cronとはWindowsで言うとタスクスケジューラのようなものです。
1 |
crontab -e |
1 |
* * * * * /home/r_admin/apache_restart.sh |
cronに関する説明はこちらのサイトの説明が分かりやすかったです。
cronの設定 – プログラムを指定した時間に定期的に自動的に実行する方法
設定は以上です。
最後まで読んでいただきありがとうございました^^
この投稿へのトラックバック
トラックバックはありません。
- トラックバック URL
この投稿へのコメント