Perl для системного администрирования



     Перевод денежных средств это. |          

Распространенные ошибки при отправке почты - часть 8


chomp($report=$connectsock->getline);

($hostname,$result,$details)=split(' ',$report,3);

в если нужно сбросить информацию, выводим готовое к

# отправке сообщение и заново инициализируем все

 хэши/счетчики

if (Shostname eq "DUMPNOW'H

&printmail($connectsock);

close($connectsock):

undef %success;

undef %fail:

Ssucceeded = Sfailed = 0:

&loadmachines;

next: }

warn "$connectname говорит, что был сгенерирован $nostnarce' \r-."

if($hostname ne Sconnectnaiie): delete $n;issiP.g{Shostna"rie}:

 ($result eq "success")!

$success{Shostnare}=$deraiIs:

$succeeded++: / else 1

$fail{$hostrame}=$dera;ls:

$fai!ed++. }

close($connectsock); } close($reserver):

# загружаем список машин из заданного файла sub loadmachines

undef %missing;

undef Smachines;

open(LIST,$repolist) or die "Невозможно открыть список Srepolist:$!\n";

while(<LIST>){

chomp;

$missing{$_}=1;

$machines++; } }

 выводим готовое к отправке сообщение. Первая строка - тема,

# последующие строки - тело сообщения sub printmail<

(Ssocket) = $_[0];

if (Ssucceded == $machines){

Ssubject = "[report] Success: Smachines"; }

elsif ($failed == Smachines or scalar keys %missing >= Smachines) {

Ssubject = "[report] Fail: Smachines"; } else {

Ssubject = "[report] Partial: Ssucceeded ACK, Sfailed NACK".

((%missing) ? ", ".(scalar keys %missing)1." MIA" : ""); }

print Ssocket "$subject\n":

print Ssocket "Run report from $0 on ".scalar localtime(time)."\n";

if (keys %success){

print Ssocket "\n==Succeeded==\n";

foreach Shostname (sort keys %success){ print

Ssocket "Shostname: $success{$hostname}\n":

}

}

if (keys %fail){ print Ssocket "\n==Failed==\n":

foreach Shostname (sort keys %fail)< print $socket "Shostname: $fail{$hostname}\n"; } }

if (keys %nissing){ print Ssocket " \n==Missing==\n":




Содержание  Назад  Вперед