Axels Homepage


 ≡ Download ≡ 

 ≡ Links ≡ 
Parameter und Befehle von ftp

NCFTP Client:


Hinweis zu den Links
Problem mit einem Link?
 
Sie sind hier: » PC + Co. » BATch-Ecke » FTP
Tipp
In der Quicksearch-Box rechts können Sie den Namen eines Windows-Kommandos oder Kommandozeilentools eingeben und kommen so schnell zu dessen Beschreibung.

BATch-Dateien - automatisierter FTP-Transfer

Auf meiner Webseite befinden sich einige Dateien, die durch Eingaben der Benutzer verändert werden: Das Gästebuch und die Suchanfragen werden in je einer Datei aufgezeichnet. Diese lade ich mit einem FTP-Skript auf meinen Rechner herunter, sobald ich online gehe.

Ich weiss, dass FTP ein unsicheres Protokoll ist, da alle Daten einschl. dem Passwort unverschlüsselt übertragen werden.

FTP-Kommandos

Mit Windows wird ein FTP-Client mitgeliefert: die ftp.exe im Windows-Verzeichnis. Wer die FTP-Kommandos nicht kennt, bevorzugt sicherlich grafische FTP-Clients.
An dieser Stelle brauche ich aber die Kommandos, weil ich in verschiedenen Ordnern immer ein und dieselbe Datei herunterlade. Welche Kommandos der FTP-Client versteht, sehen Sie nach der Eingabe von help im FTP-Modus:

D:\>ftp
Ftp> help
Befehle können abgekürzt werden. Befehle sind:
 
!               delete          literal         prompt          send
?               debug           ls              put             status
append          dir             mdelete         pwd             trace
ascii           disconnect      mdir            quit            type
bell            get             mget            quote           user
binary          glob            mkdir           recv            verbose
bye             hash            mls             remotehelp
cd              help            mput            rename
close           lcd             open            rmdir
Ftp> by
 
D:\>
Hilfe von FTP (Windows98)

Einen kurzen Hinweis, wofür die einzelnen Kommandos gut sind, sehen Sie nach der Eingabe help [Kommando].

Seitenanfang

FTP-Skript zusammenstellen

Mit diesen Kommandos muss unser FTP-Automatismus beschrieben werden können. Ich erkläre mal die Wichtigsten für den Einstieg:

  • OPEN [Name des FTP-Servers]
    Öffnet eine FTP-Verbindung zum genannten FTP-Server. Es folgen daraufhin die Abfrage von User und Passwort

  • ASCII (auch ASC) oder BIN
    Übertragungsmodus auf Ascii oder Binär setzen.

  • CD [Verzeichnis]
    Wechsel des Verzeichnisses am FTP-Server

  • LCD [Verzeichnis]
    Wechsel des Verzeichnisses am Client (auf dem eigenen Rechner)

  • GET [Quell-Datei am Server] [Ziel-Datei lokal]
    lädt eine einzelne (!) Datei herunter (*). Wenn Name der Zieldatei fehlt, wird der Dateiname der Quelldatei übernommen.

  • PUT [Quell-Datei lokal] [Ziel-Datei am Server]
    lädt eine einzelne Datei hoch. Wenn Name der Zieldatei fehlt, wird der Dateiname der Quelldatei übernommen.

  • CLOSE; BYE
    CLOSE schliesst eine FTP-Verindung; mit BYE wird zusätzlich der FTP-Modus verlassen

(*) Anmerkungen:
Um mehrere Dateien auf- oder herunterzuladen gibt es die Befehle MPUT und MGET. Allerdings kann man damit nicht rekursiv einen ganzen Verzeichnisbaum verarbeiten - dies ist mit FTP nicht möglich. An dieser Stelle helfen andere Tools weiter, wie z.B. NCFTP (Freeware für div. Plattformen - u.a. auch Windows).

So sieht mein Skript, dass in der Datei hole_logfiles.ftp gespeichert wurde, in vereinfachter Form aus. Es entspricht der Abfolge der manuell einzugebenden FTP-Kommandos, wobei jede Zeile mit [Return] abgeschlossen wird.
open [FTP-Server]
[FTP-username]
[Passwort]
 
hash
asc
 
lcd F:\Webserver\htdocs\searchlog
cd /searchlog
get searchhistory.txt
 
prompt
 
lcd F:\Webserver\htdocs\logfiles
cd /logfiles
mget *
 
by
FTP-Script

Was sicherheitsrelevant ist, ist zweifelsohne die Angabe von Username und Passwort im Klartext. Für private Anwendungen daheim ist dies aber sicher kein Hindernis.

Seitenanfang

Aufruf via Batchfile

Die ftp.exe kann neben dem interaktiven Modus (an der Kommandozeile) ein Skript verarbeiten, indem der Parameter -s hergenommen wird:

@echo off
echo --- starte FTP-Transfer...
ftp -s:hole_logfiles.ftp
echo --- fertig.
pause
Batchfile zum Aufruf des automatischen FTP

Unter LINUX/ UNIX kann man das FTP-Skript in das ftp einleiten:
ftp < hole_logfiles.ftp
Seitenanfang

Download

In der hier angegebenen ZIP-Datei finden Sie die HOLE_LOGFILES.BAT:
hole_logfiles.zip (1 kB)

Seitenanfang

 
©2010 by Axel Hahn - powered by
Valid HTML 4.01!