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

Pocket

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


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

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

ファイルB:
8.8.8.8
7.7.7.7

#!/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);

コメントを残す