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