Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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 :)

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 :)

Solange man mit Nachdenken ein bisschen helfen kann... :P

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.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.