Я пишу следующий скрипт, чтобы прочитать список серверов из текстового файла им ssh и запустить команду ldd, чтобы получить версию, установленную на сервере.Единственная проблема - это ошибка, которая появляется после следующей ошибки: Неверное имя хоста :
adev@abclnxdev:[/home/adev/perl-scripts] {63} % perl try.pl
Net::SSH: Bad host name: abclnxtest01
at try.pl line 21
, когда я вручную выполняю ssh для этого хоста.Он подключается.Вот скрипт:
#!/mu/bin/perl
use Net::SSH::Perl;
use warnings;
my $file = "server-list.txt";
my $usr = "user";
my $pwd = "password";
my $output_file = "GlibC-version.txt";
open(HANDLE, $file) or die("Cant open the file :( ");
@server_list = <HANDLE>;
close(HANDLE);
#debug_print_array(@server_list);
open(HANDLE, ">>$output_file"); #opening file for output.
foreach $host (@server_list)
{
my $ssh = Net::SSH::Perl->new($host);
$ssh->login($usr,$pwd,$ssh);
my($stdout, $stderr, $exit) = $ssh->cmd("ldd --version|grep ldd");
print HANDLE "----------------------------------";
print HANDLE "Hostname : $host";
print HANDLE "GLIBC Version : $stdout";
print HANDLE "----------------------------------\n\n";
}