FTP mit NOHUP
Von WilkoMit dem Befehl nohup lassen sich Skriptdateien so aufrufen, da"s sie nach dem Ausloggen weiterlaufen. Dies läßt sich nutzen, um einen Dateitransfer mit FTP durchzuführen, ohne den Rechner für andere User zu blockieren oder lange Zeit eine SLIP Verbindung aufrecht erhalten zu müssen.
Hier sende ich als Beispiel 2 Dateien, die dazu zusammenwirken.
Die erste Datei muß $HOME/.netrc heißen; sie ermöglicht ein nicht-interaktives login beim ftp-server (su). Der gewünschte ftp-server muß hier, wie nachfolgend beschrieben, eingetragen sein. Für jeden Server werden also 3 Zeilen eingetragen:
- Name des ftp-servers
- der eigene Login-Name ( = ftp )
- das eigene Paßwort ( = user@ )
Datei "$HOME/.netrc"
login ftp
password fokken@
machine faramir.informatik.uni-oldenburg.de
login ftp
password fokken@
machine ftp.informatik.uni-oldenburg.de
login ftp
password fokken@
machine wsmr-simtel20.army.mil
login ftp
password fokken@
(usw.)
machine ftp.uni-oldenburg.de
Datei "do.ftp" (shell script)
Als zweites ist jetzt die eigentliche Bestell-Datei nötig; sie kann einen beliebigen Namen tragen, ich nenne sie z.B. "do.ftp".
Der Aufruf der Datei geschieht mit nohup do.ftp
cd /pub/linux/slakware // im ftp-server
lcd ftp/erlang/linux/slack // im eigenen lokalen Rechner
prompt // interactive mode off
bin // file type binary
mget a* // Dateien "a*" aus dem aktuellen
// server-Verzeichnis holen
quit // ftp-server verlassen
** // Ende der beim ftp-server, d.h.
// innerhalb des ftp-Programms
// abzusetzenden Kommandos
// ob Leerzeilen erlaubt sind, habe ich noch nicht ausprobiert.
// vermutlich ja, weil es ein schlichtes shell script ist.
Die Datei "do.ftp" ist natürlich beliebig erweiterbar, sehr
Wahrscheinlich kann man sich Anhand des hier dargestellten
Beispiels nacheinander in mehrere verschiedene FTP-Server einloggen
und Dateien downloaden.
ftp $1 << ** // einloggen beim ftp-server
Bislang muß für jeden einzelnen Download-Job eine spezifische "do.ftp" geschrieben werden. Es wäre des Schweißes der Edlen wert, hier ein Menü-basiertes Programm zu entwickeln, das die Server-Dateien aufgrund des "ls-lR" nur noch zu markieren braucht und dann das entsprechende "do.ftp" generiert.
Trotzdem ist diese automatische Anwendung schon sehr hilfreich, besonders wenn das Internet mal wieder im Stau steckt.