文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>将中央日志主机的日志分析结果发给管理员的邮箱

将中央日志主机的日志分析结果发给管理员的邮箱

时间:2008-06-30  来源:coldrainsunc

首先,你需要创建一个中央日志主机,因为如果你手头有十台主机的话,很难想象,你每天会登录到每台主机去查看日志。
然后,在中央日志主机上创建以下脚本:

#!/bin/sh
DATE=`date --date=yesterday`
SUBJECT=${DATE}"日志"
/usr/sbin/logwatch --print --splithosts |/usr/local/bin/notify_via_smtp -s "$SUBJECT" -t [email protected]

并将这个脚本logpars.sh放入到/etc/cron.daily下,即可,要注意的是,这里涉及到notify_via_smtp脚本,这是我写的一个用于发送电子邮件的Perl脚本,内容如下,你需要根据你的实际情况定义变量$sender和$MAIL,脚本支持-s主题和-t收件人两个选项,记得要安装Email::Send模块:

#!/usr/bin/perl -w

use strict;
use Email::Send;
use Getopt::Std;

my %opts;
getopt('ts',\%opts);
my $subject=$opts{s};
my $receiver=$opts{t};
my $sender='[email protected]';
my $MAIL="mail.youdomain.com";
my $string=join '',<>;

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime;

$year+=1900;
my @month=qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
my @week=qw(Sun Mon Tue Wed Thu Fri Sat);

my $time=$week[$wday].",".$mday.' '.$month[$mon].' '.$year.' '.$hour.':'.$min.':'.$sec.' +0800';
my $msg=<< "__MESSAGE__";
To: $receiver
From: $sender
Subject: $subject
Date: $time

  $string
__MESSAGE__
my $sendit= Email::Send->new({mailer => 'SMTP'});
$sendit->mailer_args([Host => $MAIL]);
$sendit->send($msg);

相关阅读 更多 +
排行榜 更多 +
别惹神枪手安卓版

别惹神枪手安卓版

冒险解谜 下载
坦克战争世界

坦克战争世界

模拟经营 下载
丛林反击战

丛林反击战

飞行射击 下载