HomePump
FTP-Upload-Tool für Homepages
Schnelleinstieg für Eilige
- HomePump.exe starten
- Mit dem Button „Neu“ ein Profil anlegen
- „Vergleich“ anklicken. Es werden alle Dateien angezeigt
- Aktionen
festlegen (Pumpen=Senden an den FTP-Server, Saugen=Laden
vom FTP-Server, Löschen lokal, Löschen remote, keine
Aktion) durch Selektieren der betreffenden Files und
Anklicken des Buttons mit der gewünschten Aktion.
- „Start“ anklicken. Die gewählten Aktionen werden ausgeführt.
Inhalt
↓ Beschreibung
↓ Ablauf
↓ Anleitung
↓ Anlegen eines Profils
↓ Vergleich
↓ Auswahl der Aktion
↓ Pumpvorgang
↓ Vollautomatik [F9]
↓ Sicherheitsaspekte
↓ Remote?
↓ Kleingedrucktes
↓ Support
↓ Postcardware
↓ Technisches
↓ Danksagung
↓ Kontakt
↓ Widmung
↓ Änderungs-Historie
Beschreibung
Mit HomePump können die Dateien
einer Homepage, die man i. d. R. auf der lokalen Platte seines
PCs entwickelt schnell und einfach mit den Dateien auf dem Web-Server
abgeglichen werden. Der Zugriff erfolgt dabei über das FTP-Protokoll.
HomePump ist so geschrieben, dass nur die Dateien übertragen
werden, die sich seit dem letzten Abgleich geändert haben.
Weiterhin können Dateien, die aus der lokalen Homepage entfernt
wurden auch aus dem Datenbestand auf dem Web-Server (“Remote“)
gelöscht werden.
Ob es sich wirklich um die Daten
einer WWW-Homepage oder andere Datenbestände handelt, ist natürlich
gleichgültig. In dieser Dokumentation werde ich lediglich der
Einfachheit halber den Begriff „Homepage“ verwenden.
Ablauf
Für den Einsatz von HomePump müssen
folgende Voraussetzungen gegeben sein:
- Die Dateien der Homepage
befinden sich in einem Verzeichnis auf einem lokalen
Laufwerk oder einem Netz-Laufwerk. Es können auch
beliebig viele und beliebig tief geschachtelte
Unterverzeichnisse vorhanden sein.
- Man hat Zugriff auf den Web-Server
über FTP. Hierzu benötigt man den Namen des FTP-Servers
(der sich vom Namen des WWW-Servers unterscheiden kann aber nicht muss),
einen Benutzernamen und ein Passwort.
Die Arbeitsweise von HomePump:
Es können mehrere Profile
angelegt werden. Jedes Profil definiert:
- den Namen des
lokalen Verzeichnisses (also des Verzeichnisses
auf dem lokalen Laufwerk oder Netz-Laufwerk)
- den Namen des
Remote-Verzeichnisses (also des Verzeichnisses
auf dem FTP-Server)
- FTP-Servername, -Benutzername
und -Passwort
- Verschiedene
Optionen für den Abgleich
Nach der Auswahl eines
Profils führt HomePump einen Vergleich der
Dateien im lokalen Verzeichnis und im Remote-Verzeichnis
durch.
Anhand der
Vergleichsergebnisse werden Aktionen für jede
Datei festgelegt. Je nach Dateidatum und -Größe
schlägt HomePump dabei automatisch Aktionen vor.
Aktionen können sein:
- Pumpen: Dabei wird
die Datei vom lokalen Verzeichnis in das
entsprechende Remote-Verzeichnis „gepumpt“,
also kopiert
- Saugen: Hier wird
die Datei vom Remote-Verzeichnis in das lokale
Verzeichnis kopiert
- Löschen Lokal: Die
lokale Datei wird gelöscht
- Löschen Remote:
Die Remote-Datei wird gelöscht
- Keine Aktion: Es
findet keine Aktion statt; sowohl die lokale
Datei als auch die Remote-Datei bleiben unberührt
Wenn alle Aktionen
festgelegt sind, wird die „Pumpe“ gestartet.
Dabei werden nacheinander alle festgelegten Aktionen
durchgeführt. Zu jeder Aktion wird notiert, ob sie
erfolgreich durchgeführt werden konnte oder ob ein
Fehler aufgetreten ist.
Nach Abschluss aller
Aktionen erscheint eine Meldung, die Auskunft über den
Verlauf des Pumpvorgangs gibt
Danach kann an einer
beliebigen Stelle des oben beschriebenen Vorgangs wieder
eingestiegen werden.
Sowohl der Vergleichslauf
als auch die „Pumpe“ können jederzeit
abgebrochen werden.
Anleitung
Anlegen
eines Profils
Mit dem Button „Neu“
kann ein neues Profil angelegt werden. Geben Sie dazu folgende
Daten an:
- Einen kurzen Namen für
das Profil (z. B. „Homepage“)
- Den Namen des FTP-Servers
(z. B. „ftp.webprovider.com“). Alternativ können
Sie auch die IP-Adresse angeben (z. B. „192.168.2.25“).
- Ihren FTP Benutzer-Namen.
Achten Sie auf korrekte Groß-/Kleinschreibung.
- Ihr FTP-Passwort.
Achten Sie auch hier auf korrekte Groß-/Kleinschreibung;
vor allem da Ihre Eingabe nicht sichtbar ist.
- Wenn Server-Name, Benutzer-Name und Passwort eingegeben sind, können
Sie mit dem Button Verbindungs-Test prüfen, ob sich mit den
angegebenen Werten eine Verbindung zu Ihrem FTP-Server aufbauen lässt.
- Den Namen des lokalen
Verzeichnisses Ihrer Homepage, z. B. „C:\Daten\Homepage“.
- Den Namen des Remote-Verzeichnisses.
Sollte hierfür kein besonderes Verzeichnis vorgesehen
sein, versuchen Sie es damit, dieses Feld ganz leer zu
lassen oder mit einem einzelnen Schrägstrich („/“).
- „Zusätzliche
Remote-Dateien löschen“: HomePump wird anhand
des Vergleichs von Größe und Alter zusammengehöriger
Dateien entscheiden, ob es eine Datei pumpen, saugen oder
in Ruhe lassen soll. Wenn Sie möchten, dass Dateien, die
zwar im Remote-Verzeichnis, nicht aber im lokalen
Verzeichnis vorhanden sind, zur Löschung vorgesehen
werden („Löschen Remote“), aktivieren Sie
diese Option.
- Auf Windows-Rechnern ist
die Groß-/Kleinschreibung von Dateinamen gleichgültig.
Eine Datei „Default.htm“ wird auch gefunden,
wenn sie als „default.HTM“ angesprochen wird.
Da die meisten Web-Server Unix-Server sind, arbeiten sie
„case-sensitiv“, d. h. eine angeforderte Datei
muss tatsächlich auch so geschrieben sein.
Um Mehrdeutigkeiten zu vermeiden, ist es deshalb unter
Unix üblich, Dateinamen mit lauter Kleinbuchstaben zu
schreiben. Wenn Sie die Option „Dateinamen beim
Pumpen in Kleinbuchstaben“ aktivieren, werden
beim Pumpen (also beim Kopieren auf den FTP-Server) alle
Buchstaben in Dateinamen automatisch zu Kleinbuchstaben
konvertiert.
- Den temporären Dateinamen
für den Uhrenvergleich zwischen lokalem
Rechner und FTP-Server können Sie selbst einstellen.
Voreingestellt ist "timeslip.txt". Wenn Sie keinen Dateinamen
angeben, findet kein Uhrenvergleich statt. Bitte beachten Sie, dass die
hier angegebene Datei nach dem Erzeugen wieder vom Server gelöscht wird,
es sollte sich also nicht um eine Datei handeln, die auf Ihrer Webseite
vorkommt.
- Wenn Sie bestimmte
Unterverzeichnisse (und deren Unterverzeichnisse) aus dem
HomePump-Abgleich herauslassen möchten, geben Sie deren
Namen bei „Ignorieren - Verzeichnisse“ an.
Bitte beachten Sie, dass Sie dafür die in Unix gebräuchliche
Schrägstrich-Schreibweise verwenden, also nicht C:\Homepage\Logs,
sondern einfach /logs.
Bitte notieren Sie nur ein Unterverzeichnis pro Zeile.
Leerzeilen werden ignoriert.
- Wenn Sie bestimmte Datei-Endungen aus dem
HomePump-Vergleich herauslassen möchten, geben Sie diese bei "Ignorieren
- Datei-Endungen" an. Auch hier nur eine Datei-Endung je Zeile
eingeben und den Punkt mit eingeben.
- Wenn das Optionsfeld "Versteckte lokale
Verzeichnisse ignorieren" angekreuzt ist, werden lokale
Verzeichnisse, die "versteckt" sind, nicht berücksichtigt
- Wenn Sie mit Microsoft FrontPage und dessen
"Webs"-Konzept arbeiten, sollten Sie bei der Option Verzeichnisse
ignorieren, deren Namen mit ... beginnt einen Unterstrich angeben.
Dadurch werden die von FrontPage angelegten Verzeichnisse wie "_vti_cnf" beim Vergleich ignoriert und die
entsprechenden Dateien auch nicht übertragen. Diese sind für den Betrieb
der Webseite nicht erforderlich, sondern werden nur von FrontPage selbst
benötigt.
- Passives FTP (PASV-Modus) ist
sicherer als das übliche "aktive" FTP. Daher wird aktives FTP
von immer mehr Firewalls blockiert. Sie können versuchen, die PASV-Option
einzusetzen, wenn Sie keinen FTP-Zugriff bekommen.
- Listung: Hier wird eingestellt, wie HomePump die Verzeichnisse des FTP-Servers abruft. Es gibt folgende Optionen:
- Konservativ: Jedes Verzeichnis wird einzeln abgerufen, es wird ein normales LIST-Kommando verwendet. Das müsste
mit allen denkbaren FTP-Servern funktionieren. Dateinamen wie .htaccess werden dabei aber oftmals nicht korrekt erkannt.
- Normal: Jedes Verzeichnis wird einzeln abgerufen, es wird ein "LIST -la" Kommando verwendet. Dadurch werden
alle Dateinamen übertragen.
- Schnell: Hier wird
versucht, den kompletten Remote-Verzeichnisbaum durch die Option
"-laR" auf einmal einzulesen. Dies geht schneller, als jedes
Verzeichnis einzeln zu listen, wird aber nicht von allen FTP-Servern erlaubt. Deaktivieren Sie diese Option, wenn beim
Vergleichen keine Daten oder nur die Daten des Remote-Wurzelverzeichnisses
eingelesen werden.
Sie können ein Profil jederzeit
mit dem „Ändern“-Button nachbearbeiten. Wenn
Sie es nicht mehr benötigen, können Sie es über das „Profil“-Menü
von HomePump mit dem Befehl „Löschen“ entfernen.
Vergleich
Wenn Sie ein Profil angelegt und
ausgewählt haben, können Sie einen Vergleich der Dateien auf
dem lokalen und dem Remote-Verzeichnis starten.
- Klicken Sie dazu auf den Button
„Vergleich“.
- Es wird ein Zeitvergleich
der Uhren des lokalen Rechners und des FTP-Servers
durchgeführt, indem eine temporäre Datei angelegt wird (üblicherweise
"timeslip.txt").
Durch Ermitteln von Datum und Uhrzeit dieser Datei wird
der "Versatz" der beiden Uhren errechnet. Die
temporäre Datei wird danach automatisch wieder gelöscht.
- Es werden nacheinander die
Inhaltsverzeichnis-Einträge der lokalen und der Dateien
auf dem FTP-Server eingelesen und miteinander verglichen.
Sollte die lokale Datei jünger als die gleichnamige
Remote-Datei sein, wird sie zum Pumpen vorgesehen.
Umgekehrt wird die Aktion „Saugen“
eingestellt, wenn die Remote-Datei jünger als die lokale
Datei ist.
Sind beide Datein gleich groß und gleich alt, wird gar keine
Aktion vorgesehen. Dadurch werden nur die Dateien
kopiert, die wirklich kopiert werden müssen.
Die zu ignorierenden Verzeichnisse (siehe Profil) werden
überhaupt nicht angezeigt.
- Haben Sie zusätzlich im
Profil die Option „Zusätzliche Remote-Dateien löschen“
eingeschaltet, werden Dateien, die auf dem Remote-Verzeichnis
vorhanden sind, aber nicht im lokalen Verzeichnis, zum Löschen
vorgesehen (“Löschen Remote“).
- Weitere Aktionen sind das Löschen der
lokalen Datei, das Löschen der Remote-Datei und "ZeitSync".
Hier werden Datum und Uhrzeit der lokalen Datei auf Datum und Uhrzeit der
Remote-Datei gesetzt. Dies ist praktisch, wenn sich beim FTP-Server die
Uhrzeit verstellt hat. Bei manchen FTP-Servern kann nach der Umstellung
auf Sommer- bzw. Winterzeit ein eigener Synchronisations-Lauf erforderlich
werden.
- Nach dem Vergleich
erscheinen alle Dateien in einer Liste mit den folgenden
Spalten:
- Dateiname
- Datum lokal
- Größe lokal
- Datum remote
- Größe remote
- Vorgesehene Aktion
- Ergebnis der Aktion
(wird erst beim „Pumpen“ eingetragen)
- Unter der Datei-Liste
rechts steht die Anzahl insgesamt gefundener Dateien.
Auswahl
der Aktion
Die auf den einzelnen Dateien
auszuführenden Aktionen werden folgendermaßen festgelegt:
- Automatisch durch den
Vergleich. Diese Aktionen können jederzeit geändert
oder zurück genommen werden (“Keine Aktion“)
- Wählen Sie eine oder
mehrere Dateien aus und klicken Sie unter der Liste auf
den Button mit der gewünschten Aktion (z. B. „Pumpen“).
Die gewählten Dateien bekommen diese Aktion zugewiesen.
- Um die Selektion zu
vereinfachen, können Sie im Menü „Bearbeiten“
nach verschiedenen Kriterien Selektionen setzen lassen.
Dasselbe Menü erscheint auch als Popup-Menü, wenn Sie
auf der Datei-Liste mit der rechten Maustaste klicken.
- Wenn Sie in der Datei-Tabelle
in einen der grauen Spalten-Köpfe klicken, wird die
Tabelle – wie beim Windows-Explorer – nach der
angeklickten Spalte aufsteigend sortiert. Beim zweiten
Klick auf dieselbe Spalte wird absteigend sortiert usw.
Man kann hierbei auch auf die linke Spalte mit den
Aktions-Symbolen klicken. Dabei wird die Tabelle nach der
Aktion sortiert, was manchmal sehr praktisch sein kann.
Pumpvorgang
Durch Drücken des Buttons
„Start“ wird der Pumpvorgang gestartet. Dabei wird für
jede Datei die ausgewählte Aktion ausgeführt (also nicht nur
Pumpen, sondern auch Saugen und Löschen). Mit den Buttons "Nur
Pumpen" bzw. "Nur Saugen" werden nur die Dateien
berücksichtigt, die eben gepumpt bzw. gesaugt werden sollen.
Prozentbalken und bestimmte
Werteangaben geben Auskunft über den Fortschritt der Pumpe.
Sollte dabei ein Fehler auftreten, wird dieser in der Spalte
„Ergebnis“ festgehalten.
Am Ende erscheint ein Hinweis,
dass der Pumpvorgang abgeschlossen ist.
Nach dem Pumpen kann erneut ein
Vergleich durchgeführt, ein anderes Profil ausgewählt oder neue
Aktionen festgelegt werden.
Vollautomatik [F9]
Wenn man die Vollautomatik startet [F9] werden Vergleich und Pumpvorgang direkt hintereinander
weg ohne weitere Abfragen ausgeführt. Als Bestätigung ertönt lediglich ein akustisches Signal,
es kommt keine weitere Bestätigungsmeldung. Das ist praktisch, wenn man an einer Seite arbeitet
und immer wieder die neusten Änderungen hochpumpen möchte ohne jedesmal
Vergleich > Start > OK drücken zu müssen.
Man muss sich aber auch sicher sein, dass alles korrekt eingestellt ist ;-)
Sicherheitsaspekte
HomePump ist
keine Hochsicherheits-Software. Beachten Sie bitte folgende
Punkte:
- Die Passwörter
werden zwar nicht im Klartext im Profil gespeichert,
einem erfahrenen Programmierer wird es aber nicht
besonders schwer fallen, die Passwörter zu dekodieren.
- Die
Software ist nicht unter dem Aspekt entwickelt, gegen sämtliche
Formen potenzieller Hacker-Angriffe gewappnet zu sein.
Sie wird allerdings bei intakten Systemen (und das sind
doch fast alle) i. d. R. korrekt ihren Dienst verrichten.
Warum
„Remote“?
HomePump und
diese Dokumentation sind in deutscher Sprache geschrieben.
Trotzdem habe ich den Begriff „Remote“ verwendet, da
mir das entsprechende deutsche Wort „entfernt“ zu
unklar (eine „entfernte Datei“ kann auch eine gelöschte
Datei sein) und nicht zur Materie passend erschien. Wenn jemand
einen schöneren Begriff hat: einfach an mich mailen und eine
Tafel Milka Haselnuss ist ihr sicher.
Kleingedrucktes
Diese Software ist Freeware bzw. Donateware. Die
Benutzung und Weitergabe ist kostenfrei unter der Bedingung, dass
alle Dateien gemeinsam weitergegeben und nicht verändert werden.
Ich übernehme für den Einsatz
der Software keinerlei Garantie, nicht einmal die, dass die
Software das macht, wofür sie entwickelt wurde. Insbesondere
aber keine Garantie für Schäden, die durch den korrekten oder
auch missbräuchlichen Einsatz der Software entstehen.
Support
Support erfolgt lediglich unter
der unten angegebenen E-Mail-Adresse.
Donateware
Diese Software ist Freeware bzw. Donateware.
Weitere Informationen dazu auf der HomePump-Homepage www.stefanheymann.de/homepump
Technisches
HomePump wurde entwickelt mit
Borland Delphi 3, 5, 6 und 7 Professional und einer selbstentwickelten
Schnittstelle zum WinSock-Interface.
Das File Transfer Protocol (FTP)
ist definiert im IETF RFC 959. Diese Spezifikation ist seit dem
Oktober 1985 unverändert aktuell.
Danksagung
Ich danke meinem
Bruder Winfried Heymann für den Test der frühen Fassung dieser Software und einige
richtig gute Ideen zu ihrer Verbesserung. Weiterhin danke ich
meinem Kollegen Holger Dors für einige Vorschläge zur weiteren
Verbesserung.
Nachtrag Mai 2005: Es geht nochmal ein dickes Danke an Holger
Dors für die Programmierung der MergeSort-Routine, die mitgeholfen hat,
HomePump 1.1 erheblich zu beschleunigen, vor allem bei einer großen Anzahl von
Dateien.
Kontakt
Stefan Heymann
Eschenweg 3
72076 Tübingen
E-Mail bladrunner@stefanheymann.de
WWW www.stefanheymann.de/homepump
Widmung
Ich widme HomePump meiner Frau
Carola, die gerade an dem Rechner neben mir sitzt und irgend
etwas macht, was überhaupt nichts mit FTP zu tun hat. Da laufen
kleine Männchen in verschiedenen Farben auf dem Bildschirm rum!
(FTP finde ich trotzdem irgendwie spannender ;-)
Tübingen, 12.11.1999
Änderungs-Historie
Die Änderungs-Historie kann nun auf der
HomePump-Homepage www.stefanheymann.de/homepump
eingesehen werden.
Letzte Änderung: 16.12.2005