DNSに登録した複数のレコードが正しく登録されているかを確認するためのperlスクリプト

最近仕事で数十台のサーバに一斉に設定を投入する機会が多く、そのときにつかったスクリプトを今後のためにメモする。


DNSに正しくホストが登録されているかを確認するperlスクリプト

まずは、FQDNが記載されている、ファイルと、それに対応するIPアドレスのファイルが必要となる。
例えば、以下のとおり。数値は適当ですが。
ファイルA:
hogehoge.com
hogehoge.net

ファイルB:
8.8.8.8
7.7.7.7

[perl]
#!/usr/bin/perl

use strict;
use warnings;
my $m = 0;
my $ipfile = "ファイルB";
my @ip;
open(FIL, "<", $ipfile);
while (my $li = <FIL>){
chomp($li);
$ip[$m]=$li;
$m++;
}

$m=0;
my $datafile = "ファイルA";
open(FH, "<", $datafile);
while (my $line = <FH>){
my $result = `nslookup $line`;
if($result =~ /正規表現でIPアドレス引っ掛ける/){
my $ipresult = $1;
chomp($ipresult);
if(print $ipresult eq $ip[$m]){
print "sucess! regading".$line."\n"
}
else{
print "fail! regading ".$line."\n"
}
$m = $m +1;
}
}
close(FH);
close(FIL);
[/perl]


Posted

in

,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *