Xiphias Geschrieben 10. April 2003 Geschrieben 10. April 2003 Hallo, Ich habe da ein ziemlich blödes Problem mit einem Perl-Script das ich beseitigen muss. In diesem Script rufe ich scp auf, um Dateien auf einen anderen Rechner zu kopieren. $RETURN=`/usr/local/bin/scp -o"protocol 2" -B $LOCALFILELIST $CMD_FILE $USERNAME\@$opt_s: 2>&1 >/dev/null`; $LOCALFILELIST und $CMD_FILE enthalten die zu kopierenden Dateien und $opt_s ist der Name des anderen Rechners. Ok dieser Befehl funktioniert von der Konsole aus. Aber nicht im Script. Da hängt sich der Prozess auf. (Kopiert wird aber trotzdem...der Prozess kommt nur nicht zurück) Wenn ich den Aufruf folgendermaßen umbaue : $RETURN=`/usr/local/bin/scp -o"protocol 2" -B $LOCALFILELIST $CMD_FILE $USERNAME\@$opt_s: 2> /dev/null`; Dann läuft das Script durch und der Kopiervorgang findet auch statt. Allerdings habe ich dann am ende einen hängenden Prozess...und zwar genau diesen scp-Aufruf. Und da dieses Script per Cronjob jede Minute durchgeführt werden soll hätten wir schnell eine MENGE hängender Prozesse. Ich bin mit meinem Latein inzwischen ziemlich am Ende und weiss wirklich nicht warum er den ursprünglichen Befehl nicht ausführt. Ich habe das ganze bereits mit system(@args) gemacht aber das bringt auch nichts weil der Rückcode nicht das Problem ist. Mir ist gerade aufgefallen das der scp-Prozess als Parent-ID 1 hat....ich weiss allerdings nicht warum...müsste er nicht eigentlich die ID des Scriptes als Parent-ID haben ? Ich bin für jede Anregung oder Idee dankbar Zitieren
dr.disk Geschrieben 11. April 2003 Geschrieben 11. April 2003 Ok, bei mir ist's nicht jede Minute, dafür aber alle 20 Minuten. Ich hab für dieses Problem ein Perl-Modul benutzt: Net::SFTP (http://www.cpan.org/modules/01modules.index.html). Läuft wunderbar. Evtl. kannst Du's ja mal damit probieren. Zitieren
Xiphias Geschrieben 11. April 2003 Autor Geschrieben 11. April 2003 Moin, ja das hatte ich mir auch gedacht. Ich habe das Problem aber inzwischen gefunden. Es ist ziemlich simpel....scp ruft ja ssh auf nur das die ssh-Version auf dem Webserver auf der das Script laufen soll wirklich uralt ist. (OpenSSH_2.9p1) Und dieser SSH-Aufruf geht schief (Parameter sind falsch bzw die Version ist zu alt um einen Connect auf die andere Maschiene hinzubekommen. Die Kiste selbst ist uralt und wird nicht mehr aufgerüstet. Und da wundern sie sich das es nicht funktioniert und sagen mir "pass es an" ...grr Naja ich habe jetzt einen anderen Server gefunden wo das Script jetzt drauf laufen kann und das anzupassen ist einfacher als jetzt weiter eine umständliche Lösung zu suchen. Achja..der Server ist so alt das sich keiner traut da ein neues SSH oder ein PERL-Modul zu installieren.....nicht weil er sonst abstürzt..da laufen scripte drauf die keiner mehr kennt die aber wichtig sind Ist zwar nur ein hinausschieben aber was solls...ich bin zum Glück nicht dafür verantwortlich und ich habe es den Verantworlichen jetzt recht deutlich gesagt... Vielen Dank aber fürs drübernachgrübeln Zitieren
dr.disk Geschrieben 11. April 2003 Geschrieben 11. April 2003 Solange man mit Nachdenken ein bisschen helfen kann... Na, dann hoffen wir mal, daß die Verantwortlichen bald über ein Update Nachdenken - die meisten Lücken in SSH waren/sind kritisch (und Protokoll 1 kann von einigen Sniffern ohne Probleme in Echtzeit entschlüsselt werden). Das wäre aber dann doch ein Thema für ein anderes Forum. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.