2011-11-13 00:38:56 +01:00
|
|
|
/* PIPE- Filesystem */
|
|
|
|
das 'PIPE Filesystem' entstand urspruenglich aus der Frage heraus:
|
|
|
|
Wie kann ich ein Linux System oder Teile davon ueber/auf einen
|
|
|
|
DOS-Rechner oder Novell Fileserver sichern.
|
|
|
|
Ein schneller Loesungsansatz ergab das 'PIPE Filesystem'.
|
|
|
|
|
|
|
|
In dem Pipe Filesystem koennen Shell Scripte oder
|
|
|
|
Linux Programme hinterlegt werden.
|
2011-11-13 00:38:57 +01:00
|
|
|
Diese Programme werden von dem Client (z.B. DOS) wie einfache
|
2011-11-13 00:38:56 +01:00
|
|
|
Dateien behandelt.
|
2011-11-13 00:38:57 +01:00
|
|
|
Ein Lese oder Schreibzugriff auf diese Dateien ueber den Client bewirkt
|
2011-11-13 00:38:56 +01:00
|
|
|
einen popen dieser Programme. Der Server uebergibt
|
2011-11-13 00:38:57 +01:00
|
|
|
als 1. Parameter entweder 'READ' oder 'WRITE'
|
|
|
|
je nach Modus des ersten Zugriffes (Read oder Write).
|
2011-11-13 00:38:56 +01:00
|
|
|
Das 'PIPE-Filesystem' bietet damit eine direkte Schnittstelle
|
|
|
|
zwischen Client Anwendungen und Linux Programmen.
|
|
|
|
|
|
|
|
Die Loesung des obigen Problems ergab sich dann mit folgendem einfachen
|
|
|
|
Shell Script, welches im PIPE-Filesystem hinterlegt wurde.
|
|
|
|
|
|
|
|
#!/bin/sh
|
|
|
|
case "$1" in
|
|
|
|
'WRITE')
|
|
|
|
cd /u3 && tar -xf - 2>> /tmp/tar.in
|
|
|
|
# restore directory /u3/mar
|
|
|
|
;;
|
|
|
|
'READ')
|
|
|
|
cd /u3 && tar -cf - mar 2> /dev/null
|
|
|
|
# save directory /u3/mar
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
Unter DOS kann nun diese 'Pipe Datei' mit dem Copy Befehl in eine
|
|
|
|
lokale Datei 'kopiert' werden ( -> Sichern ) bzw. es
|
|
|
|
kann die lokale Datei auf diese 'Pipe Datei' kopiert werden.
|
|
|
|
( -> Ruecksichern )
|
|
|
|
|
2011-11-13 00:38:57 +01:00
|
|
|
Ein einfaches Drucken kann z.B. mit folgendem Mini Script realisiert werden.
|
|
|
|
Anstatt des Scriptes reicht in diesem Fall natuerlich auch ein link auf
|
|
|
|
/usr/bin/lpr.
|
2011-11-13 00:38:56 +01:00
|
|
|
|
|
|
|
#!/bin/sh
|
2011-11-13 00:38:57 +01:00
|
|
|
/usr/bin/lpr
|
2011-11-13 00:38:56 +01:00
|
|
|
|
2011-11-13 00:38:57 +01:00
|
|
|
Dadurch kann ein capture unter DOS/Windows entfallen.
|
|
|
|
|
|
|
|
In dem Verzeichnis examples gibt es als zusaetzliches Beispiel
|
|
|
|
die Programmpaare unxcomm<->comm und sendm<->unxsendm.
|
|
|
|
Mittels unxcomm/comm ist es sehr einfach moeglich einige
|
|
|
|
Linux Befehle vom Client aus aufzurufen.
|
|
|
|
z.B. : ps, lpq, lprm usw.
|
2011-11-13 00:38:56 +01:00
|
|
|
|
|
|
|
Ueber weitere dokumentierte Anwendungen bzw. Anregungen zu dem
|
|
|
|
PIPE-Filesystem wuerde ich mich freuen.
|
|
|
|
|
|
|
|
Martin
|