Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
目次
スポンサードリンク
ApacheはオープンソースのWebサーバソフトウェアです。何らかの理由で Apache のプロセスが起動していないことがあります。そんな時、起動状況を定期的にチェックして、Apacheが停止している時だけ、起動コマンドを実行するシェルスクリプトを紹介します。
起動状態のチェックと起動コマンドを実行するスクリプト
下記スクリプトはApacheのプロセスが存在しているか確認し、無い場合はApacheを起動します。また、/usr/bin/logger コマンドで /var/log/message のようなシステムログにログを出力しています。
#!/bin/bash
# Apacheのプロセスが存在するか確認
if ! ps aux | grep -v grep | grep httpd > /dev/null; then
# Apacheが起動していない場合
/usr/bin/logger "Apache is not running. Starting Apache..."
systemctl start httpd
# 起動後に再度確認
if ps aux | grep -v grep | grep httpd > /dev/null; then
/usr/bin/logger "Apache started successfully."
else
/usr/bin/logger "Failed to start Apache."
fi
else
# Apacheがすでに起動している場合
/usr/bin/logger "Apache is already running."
fi
1時間に一回監視する設定方法
上記スクリプトの定期実行は、cronという仕組みを利用します。crontab -e コマンドで cronの設定ファイルを編集できます。以下記述は、毎時間の0分(ちょうど1時間ごと)に、/tmp/script.sh を実行します。/tmp/script.sh は上記スクリプトを保存したパスで書き換えてください。
0 * * * * /tmp/script.sh
シェルスクリプトの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。
リンク
最短3時間で覚えるLinuxシェルスクリプト
こちらは、シェルスクリプトの基本的な書き方、デバッグ方法、if, case, while, forなど基本的な制御構文について書かれています。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。
リンク
Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】
Search
Recent Posts
- OpenSSHのエラー「bad ownership or modes for chroot directory component」の原因と解消方法
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法
- RHEL系Linuxでリポジトリを一覧表示するコマンド(dnf repolist)