Mit sitecopy können Websites mit lokalen Verzeichnissen synchronisiert werden.
Installation:
Zuerst muss die zentrale Konfigurationsdatei sowie ein Verzeichnis für den Versions-Tracker im Home-Verzeichnis angelegt werden.
touch .sitecopyrc; chmod 600 .sitecopyrc
mkdir -m 700 .sitecopy>
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 von sitecopy --catchup beispiel
, um das Programm zu initialisieren.
- Keine lokale Kopie vorhanden. Aufruf von
sitecopy --synchronize beispiel
, um eine lokale Kopie zu erstellen.
- Keine Kopie auf dem FTP Server vorhanden. Aufruf von
sitecopy --init beispiel
. Die lokalen Dateien werden dann beim nächsten Aufruf 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.
sitecopy -u -a
aktualisiert alle Sites, die in der Datei .sitecopyrc stehen.