blackbirdthefirst
Mitglied
Hallo an alle die das lesen.
Ich hoffe es kann mir jemand ein paar Tips zu meinem Problem geben, sonst werde ich mir wohl noch eine Glatze dabei rupfen müssen
.
Also folgendes hatte ich vor zu realisieren:
- In einem Perl script einen remote SSH Befehl mittels Net::SSH
erl absetzen.
Dieser soll dann auf dem entfernten Rechner das Netzwerkscript,
/etc/rc.d/init.d/network, neu starten.
Das ist der Codeabschnitt dafür:
use Net::SSH:
erl;
cmdossh("172.16.1.89","root", "root");
sub cmdossh {
my($host, $args);
($host, $args{user}, $args{password}, $mode)=@_;
my $ssh = Net::SSH:
erl->new($host);
$ssh->login($args{user},$args{password});
$ssh->cmd("/etc/rc.d/init.d/network restart");
}
Der Befehl wird auf der Remotekiste auch korrekt ausgeführt allerdings hängt danach auf meinem lokalen rechner das script weil die Verbindung unterbochen wurde.
Es ist also mein frage wie ich auf dem entfernten Rechner das Netzwerk neu starten kann und mein Script einfach weiter arbeitet egal wie das ergebniss auf dem anderem Rechner aussieht.
Insgesamt ist der Code nur ein Ausschnit aus einem Prog das es ermöglichen soll auf einem entfernten Rechner die IP Einstellungen Ändern zu können und danach auch wirksam zu machen, eben durch das neustarten des Netzwerks.
Das vollständige Script für ich als Anhang bei.
Danke im Vorraus für jegliche Hilfe.
Ich hoffe es kann mir jemand ein paar Tips zu meinem Problem geben, sonst werde ich mir wohl noch eine Glatze dabei rupfen müssen

Also folgendes hatte ich vor zu realisieren:
- In einem Perl script einen remote SSH Befehl mittels Net::SSH

Dieser soll dann auf dem entfernten Rechner das Netzwerkscript,
/etc/rc.d/init.d/network, neu starten.
Das ist der Codeabschnitt dafür:
use Net::SSH:

cmdossh("172.16.1.89","root", "root");
sub cmdossh {
my($host, $args);
($host, $args{user}, $args{password}, $mode)=@_;
my $ssh = Net::SSH:

$ssh->login($args{user},$args{password});
$ssh->cmd("/etc/rc.d/init.d/network restart");
}
Der Befehl wird auf der Remotekiste auch korrekt ausgeführt allerdings hängt danach auf meinem lokalen rechner das script weil die Verbindung unterbochen wurde.
Es ist also mein frage wie ich auf dem entfernten Rechner das Netzwerk neu starten kann und mein Script einfach weiter arbeitet egal wie das ergebniss auf dem anderem Rechner aussieht.
Insgesamt ist der Code nur ein Ausschnit aus einem Prog das es ermöglichen soll auf einem entfernten Rechner die IP Einstellungen Ändern zu können und danach auch wirksam zu machen, eben durch das neustarten des Netzwerks.
Das vollständige Script für ich als Anhang bei.
Danke im Vorraus für jegliche Hilfe.