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


Служба доменных имен (DNS) - часть 8


$entries{$entry}->{building},"/",

Sentries{Sentry}->{room},"\n";

printf OUTPUT "%-3d\tIN PTR %s$defzone.\n\n",

(split/\./,$entries{$entry}->{address})[3],

$entnes{$entry}->{name};

clOse(OUTPUT);

$rcsobj->file($revtarget);

$rcsob]->co( '-1');

предполагаем, что целевой файл по крайней

# мере один раз извлекался из репозитория  rename($outputfile,Srevtarget) or

die "Ошибка! Невозможно переименовать

Soutputfile в Srevtarget;$!\n";

$rcsobj->ci("-u","-m"."Преобразовано пользователем

$user в ".scalar(localtime));

sub GenerateHeader{ my(Sheader);

if (open(OLDZONE,$target)){ while (<OLDZONE>) {

next unless (/(\d{8}).«serial/); $oldserial = $1; last; }

close(OLDZONE); } else {

Soldserial = "000000"; }

$olddate = substr($oldserial,0,6);

$count = (Solddate == $today) ? substr($oldserial,6,2)+1 : 0;

Sserial = sprintf("%6d%02d",$today,Scount);

$header .= "; файл зоны dns - СОЗДАН $0\п";

Sheader .= "; HE РЕДАКТИРУЙТЕ ВРУЧНУЮ!\n;\n";

Sheader .= "; Преобразован пользователем Suser в ".scalar(localtime)."\n;\n":

П подсчитываем число узлов в каждом отделе foreach Sentry (keys %entries){

$depts{$entries{$entry)->{department}}++; } foreach $dept (keys %depts) {

Sheader .= "; в отделе $dept $depts{$dept} машин.\n";

X

Sheader ,= "; общее число машин: ".scalar(keys %entries)."\nff\n\n";

Sheader .= «"EOH";

@ IN SOA dns.oog.org. hostmaster.oog.org. (

$serial : serial 10800 ; refresh 3600 : retry 604800 ; expire 43200) ; TTL

@ IN NS dns.dog.org

ЕОН

return $header; }

sub byaddress {

@a = split(/\./,$entries{$a}->{address});

@b = split(/\./,$entries{$b}->{address});

($a[0]<=>$b[0]) ||

($a[1]<=>$b[1]) ||

($a[2]<=>$b[2]) ||

($a[3]<=>$b[3]); }

Вот какой файл получается для прямого преобразования (zone.db):

файл зоны dns - СОЗДАН createdns НЕ РЕДАКТИРУЙТЕ ВРУЧНУЮ!




- Начало -  - Назад -  - Вперед -



Книжный магазин