Hallo,
ich habe folgendes Problem:
Ein (restriktiver) Provider betreibt einen CGI-Server, wo die Nutzerverzeichnisse RO gemountet werden. Ein Dateiablage in /tmp ist ebenfalls nicht möglich.
Ich soll nun ein CGI-Script schreiben (bevorzugt Perl) welches eingebene Formulardaten aufbereitet und in eine Datei in einem Nutzerverzeichnis schreibt. Da dies auf dem CGI-Server nicht geht, muß ich also die Daten auf einen anderen Host transferieren.
Ein Versenden per Mail funktioniert, allerdings habe ich dann den Aufwand die Mail abzufangen (z.B. procmail), den Text rauszuschneiden und an das entsprechende file hinten dran zu hängen.
Ich wollte das gern mit ftp oder scp/ssh machen.
...
system "tar cf - buffer | ssh willi\@muster 'cd /home/willi/temp; tar xf -'"
...
Diese Variante funktioniert, solange buffer eine Datei ist.
Ist buffer eine Perl-Variable, geht es natürlich nicht, denn das wird wie ein langer string interpretiert (der auch \n u.a. enthalten kann).
Nun sollte dort sowas wie ein filehandle stehen. Damit sollten auch STDIN, STDOUT und STDERR möglich sein. Leider kann man tar nicht innerhalb einer Pipe verwenden, es muss immer am Anfang oder am Ende einer Pipe-Kette stehen.
Bin etwas ratlos.
Wie könnte man sowas anfassen ?
Ach ja. Ein Versenden an eine DB (MySQL o.a.) ist nicht praktikabel, da zuerst die Perl-Module fehlen und zweitens ich dann einen Extra-Rechner mit DB aufsetzen müßte. Den Zielhast kann ich nicht administrieren.
ich habe folgendes Problem:
Ein (restriktiver) Provider betreibt einen CGI-Server, wo die Nutzerverzeichnisse RO gemountet werden. Ein Dateiablage in /tmp ist ebenfalls nicht möglich.
Ich soll nun ein CGI-Script schreiben (bevorzugt Perl) welches eingebene Formulardaten aufbereitet und in eine Datei in einem Nutzerverzeichnis schreibt. Da dies auf dem CGI-Server nicht geht, muß ich also die Daten auf einen anderen Host transferieren.
Ein Versenden per Mail funktioniert, allerdings habe ich dann den Aufwand die Mail abzufangen (z.B. procmail), den Text rauszuschneiden und an das entsprechende file hinten dran zu hängen.
Ich wollte das gern mit ftp oder scp/ssh machen.
...
system "tar cf - buffer | ssh willi\@muster 'cd /home/willi/temp; tar xf -'"
...
Diese Variante funktioniert, solange buffer eine Datei ist.
Ist buffer eine Perl-Variable, geht es natürlich nicht, denn das wird wie ein langer string interpretiert (der auch \n u.a. enthalten kann).
Nun sollte dort sowas wie ein filehandle stehen. Damit sollten auch STDIN, STDOUT und STDERR möglich sein. Leider kann man tar nicht innerhalb einer Pipe verwenden, es muss immer am Anfang oder am Ende einer Pipe-Kette stehen.
Bin etwas ratlos.
Wie könnte man sowas anfassen ?
Ach ja. Ein Versenden an eine DB (MySQL o.a.) ist nicht praktikabel, da zuerst die Perl-Module fehlen und zweitens ich dann einen Extra-Rechner mit DB aufsetzen müßte. Den Zielhast kann ich nicht administrieren.
Zuletzt bearbeitet: