サーバサービス/Web 監視と警告メール

提供: Internet Web School

サーバサービス(PHP等) > Web監視と警告メール

目次

概要

ここでは、PHPによるデータ入出力処理の例をあげ、PHPでのWeb監視と警告メール処理の例を示します。

ここではあるWebサーバーから、他のサーバにあるWebサイトを監視して、異常があったら決められた人にメールを発信するPHPプログラムについて学びます。

例えば

  1. あるWebページはちゃんと外部から見えているかの監視。常に外部に発信していなければいけないWebページが色々な理由により止っていることがあります。そうなっていないかどうかを監視します。
  2. 同じくあるWebページが、何か予期せぬ理由により書き換えられていないかの監視をします。
  3. ある興味をもっているWebページに新しい情報が載ったかどうか監視します。

メールを送るPHPプログラム

メールを送るPHPプログラムの例を示します(mailifauto.php)。


 1 <?php
 2 //
 3 $ToAddress = "jac***@softbank.ne.jp";
 4 ?>
 5 <html>
 6 <head>
 7 <title></title>
 8 </head>
 9 <?php
 10 $Message = "from Nakamura";
 11 $Message .= "\n";
 12 $Message .= "--------------\n";
 13 $Message .= "Trouble in Jac***.com! \n";
 13 $Message .= "------------- \n";
 14 $fp = @fopen("http://ja****.com/iws/abc.html", "r");
 15 while( ! feof( $fp ) ){
 16 $mm= fgets( $fp, 91820 );}
 17 fclose($fp);
 18 if ($mm !="<html>abc</html>") 
 19 { mb_send_mail($ToAddress, "Auto",  $Message);}
 20 ?>
 21 </body>		
 22 </html>  
 

というものです。左側に付けた番号はプログラムの説明のための便宜的なものです。

2番で送りたいメールのあて先のアドレスを指定します。 これは基本的に前章のプログラムと同じように監視結果をメールで通知するものです。

10番から13番で、そのメールの本文を指定します。$Message という変数に一度本文が代入されます。

.=というのはメッセージを前の文に追加して代入するというものです。

14番では監視するWebのページのURLを指定します(ここでは

http://ja****.com/iws/abc.html)。

18番19番で、監視したいWebページ(ここではabc とだけ書かれたページ, http://ja****.com/iws/abc.html) の内容をチェックし、内容が異なったら、警告のメールを出します。

このPHPプログラム(mailifauto.php)を前章でやったようにクローン機能で、定期的に呼び出せばいいのです。例えば毎朝7時30分に動作させるのです。なおabc.html のファイルの内容は


 <html>abc</html>
 

という簡単なものです。

関連項目

CAIテスト

個人用ツール