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



              

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


# отправляем сообщение $mailer->close;

Сначала программа считывает список имен машин, участвующих в данном предприятии. Затем, чтобы проверить, встречались ли машины, не поместившие файл в общий каталог, используется хэш, созданный на основе этого списка. Мы открываем каждый файл из данного каталога и выделяем из него информацию о состоянии. Получив результаты, создаем сообщение и отправляем его.

Получается такой отчет:

Date: Wed, 14 Apr 1999 13:06:09 -0400 (EOT)

 Message-Id: <199904141706.NAA08780@example.com> Subject: [report]

Partial: 3 ACK, 4 NACK, 1 MIA To: project(s>example. con From: project@example.com

Run report from reportscript on Wed Apr 14 13:06:08 1999

==Succeeded==

barney: computed 23123 oogatrons betty: computed 6745634

oogatrons fred: computed 56344 oogatrons

==Failed==

bambam: computed 0 oogatrons dino: computed 0

oogatrons pebbles: computed 0

oogatrons wilma: computed 0 oogatrons

==Missing== mrslate

Другой способ изучить подобные результаты состоит в том, чтобы создать демон журналов регистрации и посылать отчет от каждой машины через сокет. Сначала взгляните на код для сервера. Он совпадает с кодом из предыдущего примера. Рассмотрим новую программу и обсудим ее важные особенности:

use 10::Socket;

use Text::Wrap: ft используется для создания аккуратного вывода

 список машин, посылающих отчеты Srepolist = "/project/machinelist":

 номер порта для соединения с клиентами Sserverport = '9967' ;

Sloadmachines: # загружаем список ма^ин

# настраиваем нашу сторону сокета

Sreserver = 10::Socket::INET->new(LocalPort => Sserverport,

Proto => "tcp",

Type => SOCK_STREAM,

Listen => 5,

Reuse => 1) or die "Невозможно настроить сокет на нашей стороне: $!\п";

и начинаем слушать порт в ожидании соединений while(

($connectsock,Sconnectaddr) = $reserver->accept()){

# имя подсоединившегося клиента

Sconnectname = gethostbyaddr((sockaddr_in($connectadar))[1],AF_INЈT):




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