|  |     上記表示の SSI は、<!--#exec cmd="./log_day_get.pl"--> で実行させる。
 log_day_get.pl は、下記のプログラム名です。
 
 -----------------------------------------------------------------
 #!/usr/bin/perl
 #----------------------------------------------------------------
 #     root mail のログ日を指定する SSI
 #----------------------------------------------------------------
 # option リスト 1日前の年月日作成
 $Ago_day = 1;
 ($sec,$min,$hour,$day,$mon,$year) = localtime(time-24*60*60*$Ago_day);
 $year += 1900;          # 年を西暦にする。
 $mon++;                 # 1月のデータが 0 なので +1 する。
 &yyyymmdd;              # $today = yyyymmdd
 $Mday = $mon." 月 ".$day." 日";		# n 日前の月日
 #----------------------------------------------------------------
 $Fmsg =<<"msg";
 <!-- ここから、log_day_get.cgi start -->
 <form method="get" action="root_log.cgi">
 <font color="black" size="2">指定日</font><select name="logday">
 <option selected value="$today">$Mday</option>
 msg
 print "$Fmsg";
 #----------------------------------------------------------------
 #     option リスト 2 ~ 10日前の年月日作成
 $i = 2;
 while ($i < 11){
 ($sec,$min,$hour,$day,$mon,$year) = localtime(time-24*60*60*$i);
 $year += 1900;          # 年を西暦にする。
 $mon++;                 # 1月のデータが 0 なので +1 する。
 &yyyymmdd;              # $today = yyyymmdd
 $Mday = $mon." 月 ".$day." 日";		# n 日前の月日
 #            print "<option value=\"$today\">$Mday</option>\n";
 $i++;
 $Fmsg =<<"msg";
 
 <option value="$today">$Mday</option>
 msg
 print "$Fmsg";
 }
 #----------------------------------------------------------------
 $Fmsg =<<"msg";
 </select>
 <input type=submit value="root Mail\x95\x5C示"></form>
 <!-- ここで、log_day_get.cgi end -->
 msg
 print "$Fmsg";
 #----------------------------------------------------------------
 exit(0);
 #----------------------------------------------------------------
 sub yyyymmdd {
 # yyyymmddをつくる。
 #
 $Nmon = sprintf ("%02d",$mon);		# mm表記にする。
 $Nday = sprintf ("%02d",$day);		# dd表記にする。
 $today = $year.$Nmon.$Nday;		# yyyymmdd
 #
 return;
 }
 
 -----------------------------------------------------------------
 (D-1)下記の cgi プログラムをセンター表示するための
 CSS プログラム style.css で保存してください。
 -----------------------------------------------------------------
 #container{
 width:1000px;
 margin-left:auto;
 margin-right:auto;
 border-style: none;
 }
 
 -----------------------------------------------------------------
 (D-2)Logwatch の rooo宛てメールをホームページとして表示する cgi プログラム
 log_day_get.pl のプログラムの<form method="get" action="root_log.cgi">
 から、実行されるプログラム
 root_log.cgi は、下記のプログラム名です。
 
 root宛てのログのテキストには、HTML では、特殊文字になる &,<,>," が
 含んでいるので、 文字置換をしています。
 -----------------------------------------------------------------
 
 #!/usr/bin/perl
 #
 print "Content-type: text/html\n";
 print "\n";
 $Fmsg =<<"msg";
 <!DOCTYPE html>
 <html lang="ja">
 <head><title>Logwatchのroot宛てメール</title>
 <link rel="shortcut icon" href="favicon.ico">
 <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
 <meta content="text/css" http-equiv="Content-Style-Type">
 <meta content="text/javascript" http-equiv="Content-Script-Type">
 <link rel="stylesheet" href="style.css" type="text/css" media="all">
 </head>
 <body>
 <div id="container">
 <table border="0"><col width="100"><col width="100"><col width="100">
 <tr>
 <td></td>
 <td align="right">
 <form action="../../index.html" method="GET">
 <input type="submit" name="sub1" value="index.htmlへ戻る">
 </form></td>
 <td align="left">
 <form action="myloglist.html" method="GET">
 <input type="submit" name="sub2" value="元のページへ戻る">
 </form></td>
 </tr>
 </table>
 msg
 print "$Fmsg<br>";
 #----------------------------------------------------------------
 
 #---------------------------------------------------------------
 $form_data = GET_form();
 $form_data =~ s/logday=//;
 #
 $logfile = "root$form_data";
 $logfiledir_in = "/home/○○○○/root_mail/$logfile";
 #
 # 1文字目から4文字を取り出す
 $yyyy = substr($form_data, 0, 4); # 年
 # 5文字目から2文字を取り出す
 $mm = substr($form_data, 4, 2);    # 月
 # 7文字目から2文字を取り出す
 $dd = substr($form_data, 6, 2);    # 日
 #---------------------------------------------------------------
 if (-f $logfiledir_in) {
 }else{
 print "<br><p><b>$logfileのメールは、ありません。</b></p>\n";
 exit;
 }
 #
 # 読取モードで $logfiledir_in のファイルを開く
 #
 open( get_data, "<$logfiledir_in");
 #
 # root宛てメールデータのHTML出力
 #
 print "<b><p>$yyyy年$mm月$dd日のroot宛てメールデータ</p></b>";
 print "<p><pre>\n";
 while(<get_data>) {
 ~ s/&/&/gi;    <----  & を & に変換する。
 ~s/</</gi;      <----  < を < に変換する。
 ~s/>/>/gi;      <----  > を > に変換する。
 ~s/"/"/gi;    <----  " を " に変換する。
 print "$_";
 }
 print "</p></div></body></html>\n";
 #
 close(get_data);
 # 終了
 exit(0);
 #---------------------------------------------------------------
 #    form action="○○○" method="GET" のデータを取得する。
 #
 sub GET_form{
 local $form_data;
 $form_data = $ENV{'QUERY_STRING'};
 return $form_data;
 }
 #---------------------------------------------------------------
 #    form action="○○○" method="POST" のデータを取得する。
 #
 sub POST_form{
 local $form_data;
 #           STDIN :	標準入力
 read(STDIN, $form_data, $ENV{'CONTENT_LENGTH'});
 return $form_data;
 }
 #---------------------------------------------------------------
 
 
 -----------------------------------------------------------------
 Logwatch で分かるサーバ機の動作情報の項目と概要
 ( このセクションのつづきに、Logwatch のログの表示例を掲載しています。)
 Logwatch のログの詳細度(Detail)は、中(Med)にしています。
 -----------------------------------------------------------------
 
 ---------------------clam-update Begin ------------------------
 ・clamのアップデート情報が分かります。
 ----------------------clam-update End -------------------------
 
 --------------------- Clamav Begin ------------------------
 ・1日のうちにclamavのデータベースチェックの何回実行されたかが分かります。
 標準では、10分間隔で一日に144回になります。
 ---------------------- Clamav End -------------------------
 
 --------------------- Cron Begin ------------------------
 ・定時に行われているCron処理内容
 1日のうちにどのプログラムが、何回実行されたかが分かります。
 ---------------------- Cron End -------------------------
 
 --------------------- ftpd-xferlog Begin --------------------
 ・1日のうちにサーバーからどれだけの容量のデータが入出力されたのか
 が分かったります。
 ---------------------- ftpd-xferlog End ----------------------
 
 --------------------- Kernel Begin ------------------------
 ・kernelにおける起動またはエラー情報が分かります。
 ---------------------- Kernel End -------------------------
 
 --------------------- pam_unix Begin ------------------------
 ・Linuxのpam認証においての認証成功または失敗
 つまり、Tera Termでアクセスした履歴が確認できます。
 ---------------------- pam_unix End -------------------------
 
 --------------------- proftpd-messages Begin ----------------
 ・proftpdへのログイン履歴が確認できます。
 つまり、ffftp でアクセスした履歴が確認できます。
 ---------------------- proftpd-messages End -----------------
 
 --------------------- Connections (secure-log) Begin --------
 ・Connections (ecure-log) ユーザー追加時など
 ---------------------- Connections (secure-log) End ---------
 
 --------------------- sendmail Begin (detail=3) -------------
 ・メール送信サーバに関するログです。
 メールの回数・容量が確認できます。
 ---------------------- sendmail End -------------------------
 
 --------------------- SSHD Begin ------------------------
 ・接続が成功した場合は、そのIPアドレス(またはホスト名)が確認できます。
 つまり、Tera Termでアクセスした履歴が確認できます。
 ---------------------- SSHD End -------------------------
 
 --------------------- yum Begin ------------------------
 ・yum -y updateでアップデートされたパッケージ名が確認できます。
 ---------------------- yum End -------------------------
 
 --------------------- Disk Space Begin ------------------------
 ・Disk Space Linuxのディスクスペース使用状況が確認できます。
 ---------------------- Disk Space End -------------------------
 
 -----------------------------------------------------------------
 
 
 |