Скрипт определения какие сайты из списка отдаются с определённого сервера.

Задача такая. Есть файл domains.txt, куда выведен выхлоп команды

ls -1 /etc/apache2/sites-enabled/

То есть список всех виртуалхостов. Требуется узнать, какие их них реально отдаются с этого сервера, а какие просто висят.  Все файлы этого каталога имеют имя то же самое, что и домен. Что позволяет обойтись в написании скрипта очень малой кровью.

Пишем небольшой скрипт domain_checker.pl

#!/usr/bin/perl
 
my @lines = ();
my $ip = $ARGV[0];
while(<STDIN>){
    chomp;
    @lines = `host $_`;
    chomp @lines;
    print $_."\n" if $lines[0]=~m/$_\s+has\s+address\s+$ip/i;
}

И пускаем его в таким образом

cat domains.txt | ./domain_checker.pl server_ip

А он нам выводит список доменов, отдающихся с этого сервера.

 


Добавить комментарий