Website-Synchronisation mit sitecopy
Es gibt unter Linux eine Vielzahl von Möglichkeiten, lokal veränderte HTML-Dateien auf einen FTP-Server hochzuladen, jedoch ist das kleine Hilfsprogramm namens sitecopy besonders praktisch.
Einleitung
Es gibt unter Linux eine Vielzahl von Möglichkeiten, lokal veränderte HTML-Dateien auf einen FTP-Server hochzuladen, jedoch ist das kleine Hilfsprogramm namens sitecopy besonders praktisch. Ich möchte es in diesem Artikel vorstellen.
Installation
Das Paket sitecopy befindet sich im Lieferumfang vieler Distributionen, teilweise auch in der Standardinstallation. Andernfalls bei [1] herunterladen und installieren. Hiernach müssen noch die zentrale Konfigurationsdatei (touch .sitecopyrc; chmod 600 .sitecopyrc
) sowie ein Verzeichnis für den Versions-Tracker (mkdir -m 700 .sitecopy
) im Home-Verzeichnis angelegt werden.
Konfiguration
Die Konfigurationsdatei besteht aus einer oder mehreren Sektionen (eine pro Website) mit folgender Syntax:
site beispiel # Projektname server ftp.beispielseite.ch # Der FTP Server für Up- und Downloads username webmaster # Username für FTP Zugriff password soginet # Passwort für FTP Zugriff local ~/public_html/beispiel/ # Lokales Verzeichnis remote ~/html/ # Entferntes Verzeichnis (auf dem FTP-Server) # "~" steht hier für das Login-Verzeichnis des FTP-Servers. site beispiel2 # Projektname einer weiteren Webseite [...]
Es gibt noch eine Vielzahl weiterer Optionen, z. B. für den Umgang mit Links, Exclude-/Include-Filter, Proxys, usw. Diese sind auf der manpage (man sitecopy
) detailliert beschrieben.
Erster Aufruf
Es gibt drei mögliche Situationen vor dem ersten Aufruf von Sitecopy; für jede muss individuell vorgegangen werden:
- Remote- und lokale Dateien sind synchron.
Aufruf vonsitecopy --catchup beispiel
, um das Programm zu initialisieren. - Keine lokale Kopie vorhanden.
Aufruf vonsitecopy --synch beispiel
, um eine lokale Kopie zu erstellen. - Keine Kopie auf dem FTP Server vorhanden.
Aufruf vonsitecopy --init beispiel
. Die lokalen Dateien werden dann beim nächsten Aufruf, siehe Kapitel 5, hochgeladen.
Tägliche Benutzung
Nachdem das Programm nun betriebsbereit ist, kann es sehr einfach benutzt werden. Ein Aufruf von sitecopy --update beispiel
lädt alle modifizierten oder neuen Dateien, inklusive Unterverzeichnissen, auf den FTP und löscht auch alle Dateien, die lokal entfernt wurden. Wenn mehrere Sites in der Konfigurationsdatei definiert sind, können diese mit sitecopy --update beispiel beispiel2
in einem Rutsch synchronisiert werden.
Fazit
Sitecopy ist ein praktisches Werkzeug, um mit geringem Aufwand seine Webseiten zu synchronisieren. Da immer nur die veränderten Dateien übertragen werden, spart es auch noch Bandbreite. Das Programm verrichtet bei mir seit Jahren unauffällig und zuverlässig seinen Dienst, und dies unabhängig von den verwendeten Web-Development-Werkzeugen, die ja teilweise auch derlei Funktionen mitbringen.