Guest wer
my $pty=$test->connect();
aber ich würde "connect" etwas anders schreiben:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sub connect{
my ($self) = @_;
unless($self->{_pid})
{
my $host = $self->{_hostname};
my %opts = (
user => $self->{_username},
password => $self->{_password},
master_opts =>
[ -o => "StrictHostKeyChecking false", -o => "HashKnownHosts false" ],
);
my $ssh = Net::OpenSSH->new( $host, %opts );
my ( $pty, $pid ) = $ssh->open2pty();
$self->{_pid}=$pid;
$self->{_pty}=$pty;
}
return $self->{_pty};
}
Du willst doch nicht immer wieder eine neue Verbindung aufbauen, oder?
Dann kannst auch in "do_tftp_backup" schreiben:
my $pty=$self->connect;
my $expect = Expect->init($pty);
ich möchte jedesmal eine neue verbindung aufbauen , da es jedesmal ein anderer host ist.
aber die variante mit
gefällt mir besser.
gruß Florian