Skip navigation

Linux User Group Oldenburg [Tux]

FTP mit NOHUP

Von Wilko

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

  1. Name des ftp-servers
  2. der eigene Login-Name ( = ftp )
  3. das eigene Paßwort ( = user@ )
In den folgenden Dateien ist als User 'fokken' eingetragen.

Datei "$HOME/.netrc"

machine ftp.uni-oldenburg.de

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

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

ftp $1  << **                   // einloggen beim ftp-server

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.

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.