PHP メール送信条件について
お知恵をお貸しください。
現在、ネットで公開されている以下のサーバー監視PHPスクリプトをCRONで1時間毎に動かしているのですが、監視対象サーバートラブルも解消したので、「障害時のみ」下記のスクリプトからメールを送信するようにしたいと思っております。
当方、お恥ずかしいのですがほぼ素人なもので、、、
大変申し訳ないのですが、どのように記述すれば良いか教えていただけませんでしょうか。
<実現したいメール送信条件>
以下のスクリプトにおいて「pingチェック」がNG、または「webアクセスチェック」がNG、またはその両方がNGの場合にメールを送信。
宜しくお願い致します。
<?php
//PING応答対象のサーバーIPアドレス
$SERVER_IP = 'xxx.xxx.xxx.xxx';
//HTTPステータスを取得する対象のURL
$URL = 'http://www.sample.com';
//メールの送信先(管理者メール)
$MAIL_TO = 'xxx@xxx.com';
//メールの送信元に表示するアドレス
$MAIL_FROM = 'aaa@aaa.jp';
//pingチェック
$ping_command_str = "ping -c 3 -w 5 $SERVER_IP";
if (!strstr(`$ping_command_str`, '100% packet loss')) {
$result = "$SERVER_IP ping ok\n";
} else {
$result = "$SERVER_IP ping ng\n";
}
//webアクセスチェック
if ($res = file_get_contents($URL)) {
$result .= "{$URL} access ok\n";
} else {
$result .= "{$URL} access ng\n";
}
//結果をメール送信
$mail_header = "From: $MAIL_FROM";
mail($MAIL_TO, 'check result', $result, $mail_header);
?>
お礼
返事が遅くなりすみません。 こんな便利なツールがあるんですね。 早速使ってみたらうまい事いきました。 ありがとうございました。