Apacheが間違っているかどうかを確認するために、いくつかのシェルbashを作成しますか? 私はcurl my one pageを使っています.head return200 ok
の場合はApacheがうまく動作しているようです.そうでない場合は, do service httpd restart
,スクリプトが実行されているかどうかを監視するために、実行日とステータスをいくつかのログ(1.txt)に書き込みます.
apache.sh
#!/bin/bash
curl -I http://www.mydomain.com/check.php 2>/dev/null | head -1 | grep -q " 200 OK"
if [ $? -eq 0 ]; then echo "ok $(date)" >> 1.txt; else service httpd restart;echo "restart $(date)" >> 1.txt; fi
crontab
*/6 * * * * /bin/sh /home/username/apache.sh >/dev/null 2>&1
しかし、昨日、私のApacheはまだ消えていました(子プロセスxxxxはまだ終了せず、SIGKILLを送信しました)。
私はsshコマンドライン/bin/sh /home/username/apache.sh
で試しましたが、エラー警告なしでログが書き込まれていません(1.txtは空です)。
問題はどこだ?ありがとう。