Thread Server-Verzeichnis überwachen (SSH) (15 answers)
Opened by DonKnilch at 2009-09-04 10:13

DonKnilch
 2009-09-04 17:19
#125458 #125458
User since
2009-09-04
62 Artikel
BenutzerIn
[default_avatar]
Ich habe jetzt mal noch einen alternativen Weg getestet, aber auch da habe ich Probleme. Statt alles in einem Script zu erledigen, habe ich einen Teil ausgelagert auf den Server selber. So habe ich nicht mehr das Problem mit dem Verzeichnis, weil ich direkt ohne SSH darauf zugreifen kann. Dafür muss ich allerdings vom ersten Script aus das zweite starten und dieses muss mir ein Array mit den Werten (sprich den Files) zurückliefern. Dies wollte ich über einen Pipe umsetzen. Leider gibt es Probleme beim Starten des zweiten Scripts bzw. bei der Rückgabe der Werte. Teilweise startet er das Script, manchmal aber auch nicht (getestet durch eine Ausgabe in eine Textdatei). Auch wenn das Script startet, liefert es mir nichts zurück und mein Programm meldet einen "readline on closed filehandle..." für den Handle, der die Rückgabe verarbeiten soll.

Der Aufruf sieht so aus:

Code: (dl )
1
2
open HANDLE, $ssh->cmd('perl Filewatcher.pl |') ||
die "Cannot start script; $!";


Die Zeile mit dem Fehler:

Code: (dl )
while (<HANDLE>) { push(@files, $_); }


Das Script auf dem Server selbst funktioniert, ich habe es lokal bei mir und manuell auf dem Server getestet. Auch die Pipe hat lokal funktioniert, nur in Kombination mit SSH gibt es Probleme. Außer dem o.g. Aufruf habe ich alternativ auch noch die Varianten mit system('...') und exec('...') ausprobiert.

Hat jemand eine Idee?

View full thread Server-Verzeichnis überwachen (SSH)