# 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 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 Ordner auf einem lokalen Laufwerk oder einem Netz-Laufwerk. Es können auch beliebig viele und beliebig tief geschachtelte Unter-Ordner vorhanden sein.
- Man hat Zugriff auf den Web-Server über SFTP bzw. 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 Ordners (also des Ordners auf dem lokalen Laufwerk oder Netz-Laufwerk)
- den Namen des Remote-Ordners (also des Ordners auf dem FTP-Server)
- FTP-Servername, -Benutzername und -Passwort
- FTP-Verschlüsselung (SFTP oder FTP=keine)
- Verschiedene Optionen für den Abgleich

Nach der Auswahl eines Profils führt HomePump einen Vergleich der Dateien im lokalen Ordner und im Remote-Ordner 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 Ordner in das entsprechende Remote-Ordner „gepumpt“, also kopiert
- Saugen: Hier wird die Datei vom Remote-Ordner in das lokale Ordner kopiert
- Löschen Lokal: Die lokale Datei wird gelöscht
- Löschen Remote: Die Remote-Datei wird gelöscht
- Zeit-Synchronisation: Wenn Sie sicher sind, dass die Datei auf dem Remote-Ordner aktuell ist, aber trotzdem "Pumpen" vorgschlagen wird, dann können Sie die lokale Datei auf Datum und Uhrzeit der Remote-Datei setzen lassen, so dass die beiden Zeitstempel gleich sind.
- 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 Ordners Ihrer Homepage, z. B. „C:\Daten\Homepage“.
- Den Namen des Remote-Ordners. Sollte hierfür kein besonderer Ordner 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-Ordner, nicht aber im lokalen Ordner 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 Linux-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 Unter-Ordner (und deren Unter-Ordner) aus dem HomePump-Abgleich herauslassen möchten, geben Sie deren Namen bei „Ignorieren - Ordner“ an. Bitte beachten Sie, dass Sie dafür die in Linux gebräuchliche Schrägstrich-Schreibweise verwenden, also nicht C:\Homepage\Logs, sondern einfach /logs.
  Bitte notieren Sie nur einen Ordner 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 Ordner ignorieren" angekreuzt ist, werden lokale Ordner, die "versteckt" sind, nicht berücksichtigt
- Wenn Sie mit Microsoft FrontPage und dessen "Webs"-Konzept arbeiten, sollten Sie bei der Option Ordner ignorieren, deren Namen mit ... beginnt einen Unterstrich angeben. Dadurch werden die von FrontPage angelegten Ordner 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: Diese Einstellung ist mit Version 2.0 entfallen, da heutige FTP-Server aus Sicherheitsgründen nur noch „passives“ FTP unterstützen.

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 (auch abrufbar über einen Rechtsklick auf der Profil-Liste) 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-Ordner 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 Ordner (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-Ordner vorhanden sind, aber nicht im lokalen Ordner, 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 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.

## Kleingedrucktes

Diese Software ist Freeware. 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.

## Technisches

HomePump wurde entwickelt mit Borland Delphi 3, 5, 6, 7 und 12 Professional und in den frühen 1.0-Versionen mit einer selbstentwickelten Schnittstelle zum WinSock-Interface.

## 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.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 auf der HomePump-Homepage www.stefanheymann.de/homepump eingesehen werden.

Letzte Änderung: 30.01.2026