Die Arbeit mit Sitecopy
Es gibt also schon eine Webpräsenz
Das tägliche Leben mit Sitecopy
Vergleichen
Hochladen
Runterladen
Modifikationen von Dritten
Noch mal eine Zusammenfassung
Es wird kurz erklärt, wie mit
Sitecopy zu arbeiten ist.
Als Beispiel nehmen wir eine bereits vorhanden Webpräsenz, die in
Zukunft mit
Sitecopy verwaltet werden soll.
Zuerst wird das Einrichten erläutert, dann das tägliche Leben mit
Sitecopy und am Ende ist noch mal eine kurze Zusammenfassung der
wichtigsten Optionen.
Sie haben schon eine Site auf dem Webserver und wollen in
Zukunft diese mit Sitecopy bearbeiten. Was ist zu tun?
- Sitecopy sucht seine Konfiguration in der Datei
~/.sitecopyrc. Diese Datei editieren wir (bzw. beim
ersten Mal wird sie neu angelegt). Je Site muss dort etwa folgender
Eintrag rein:
# ~/.sitecopyrc
site site
| # ein netter und kurzer Name der Site
| server Hostname
| # Name des Servers
| username Nutzer
# Name des FTP-Nutzers
| local Verzeichnis
| # Lokales Arbeitsverzeichnis (z.B. ".")
| remote Verzeichnis
| # korrespondierendes Verzeichnis auf dem fremden Server
| exclude Muster
| # Dateien und Verzeichnisse, die nicht synchronisiert werden sollen
(z.B. ".svn")
| checkmoved
| # wenn lokal Dateien nur zwischen Verzeichnissen verschoben
werden, dann auch auf der FTP-Server Seite
| safe
| # es werden keine zwischenzeitlich auf der
anderen Seite geänderten Files überschrieben
|
|
|
Damit wir dann nicht immer nach dem Passwort gefragt werden, legen
wir eine weitere Datei an (oder ergänzen sie), das File heißt ~/.netrc
und wird auch von anderen FTP-Clients genutzt, um Nutzernamen und
Passworte zu erfahren.
# ~/.netrc
machine FTP-Host
login FTP-Nutzer
password FTP-Passwort
|
Damit kein anderer diese ~/.netrc lesen kann,
machen wir beim ersten Mal noch sicherheitshalber ein chmod go=
~/.netrc
.
Ein eventueller Default-Eintrag muß am Ende der Datei stehen.
Natürlich hätte man das Passwort auch in die
.sitecopyrc schreiben können, aber das gefällt mir
nicht, falls wir die .sitecopyrc zusammen mit den
einzelnen Sites irgendwo zentral lagern.
- Es wird lokal ein leeres Verzeichnis angelegt, nennen wir es
workdir/. Dieses Verzeichnis kann auch schon Teile der
Präsenz auf dem Web-Server enthalten. Zu beachten ist lediglich,
daß dann beim Download eventuell Files gelöscht werden, die auf dem
Server nicht vorhanden sind!
- Jetzt müssen wir uns vom fremden Server eine Liste mit
den dort aktuellen Files abholen, dazu gehen wir erstmal in das
Arbeitsverzeichnis (
cd workdir
)
und verwenden nun
Wenn wir neugierig sind, können wir mit einer Debug-Option auch noch
dem FTP-Transfer zusehen: sitecopy -d ftp -f ...
.
- Nun können wir uns ansehen, was Sitecopy zu dieser
Veranstaltung sagt, dabei wird nichts gelöscht oder übertragen,
es vergleicht einfach nur die Fileliste des Servers mit den lokal
vorhandenen Dateien:
Eine Aussage wie
* These items have been deleted since...
heißt nur, daß auf unserer Seite diese Files
verschwunden sind, seitdem wir die Site das letzt mal aktualisiert
hatten. (Aber das haben wir ja noch nie! Sitecopy weiß das
natürlich nicht.)
- Nun können wir synchronisieren, also die Files vom
Server runterladen:
Vorsicht: Dabei werden lokal vorhandene Files
gelöscht, falls sie im Wege liegen. Es ist also wichtig, im
richtigen Arbeitsverzeichnis zu sein. Dieser Fehler
(menschliches Versagen) läßt sich vermeiden, wenn wir in der
~/.sitecopyrc nur absolute Pfadnamen für das lokale
Verzeichnis eintragen.
Anmerkung: Leider ist Sitecopy im Augenblick nicht
in der Lage, tiefe Verzeichnis-Hierarchien anzulegen, als
Workaround hilft hier, sitecopy -s ...
so oft
aufzurufen, bis alle Verzeichnisse vorhanden sind. Das Problem
tritt nur auf, wenn das Elternverzeichnis eines anzulegenden
Verzeichnisses noch nicht vorhanden ist.
- Nun können wir nach Belieben lokal ändern und anpassen. Wenn
wir dann glauben, daß wir fertig sind, kann wieder hochgeladen
werden:
Es werden dabei die Files aktualisiert, von denen Sitecopy
glaubt, daß sie auf dem Server in einer alten Version
vorliegen. (Über die Versionen auf dem Server hat Sitecopy
sich ja am Anfang mit
sitecopy -f ...
informiert bzw.
tut es bei jedem Upload automatisch.)
Solange die Option safe
in der Konfigurations-Datei
steht, wird Sitecopy auch keine Files auf dem Server
überschreiben, die dort zwischenzeitlich verändert wurden.
Halten wir noch mal fest:
Sitecopy hat eine lokale Liste der Files
auf dem Server. Normalerweise stimmt diese Liste -- wenn außer uns
selbst keiner den Server aktualisiert.
Nach lokalen Änderungen möchten wir gerne sehen,
was
Sitecopy nun eigentlich hoch- oder runterladen würde. Dafür
genügt ein
Wenn wir also lokal etwas an den Webseiten geändert haben und
nun sollen diese Änderungen wieder zum Server, dann geht das mit
ganz einfach.
Sitecopy vergleicht unsere lokalen Files mit der
lokalen Liste der Serverdateien und lädt alle veränderten Files
wieder hoch.
Wenn sich inzwischen auf dem Server die Files auch geändert
haben sollten (weil vielleicht auch noch jemand anders
aktualisiert hat), dann wird
Sitecopy diese Files
überschreiben,
außer die Option
safe
ist in
der Konfigurationsdatei.
Wenn wir lokal etwas zerstört haben und wollen die Files vom
Server wieder zurück holen, dann können wir das mit
erledigen.
Achtung: Dabei werden alle(!) lokalen
Änderungen mit den Dateien vom Server überschrieben. Es ist
also eine gute Idee, lokal vorher eine Kopie zu machen.
Haben auf dem Server zwischenzeitlich Modifikationen von Dritten
stattgefunden, dann stimmmt natürlich die Vorstellung, die unser
Sitecopy vom Server hat, nicht mehr (diese Vorstellung liegt
in der oben erwähnten lokalen Fileliste).
Dann muß mit
diese Fileliste wieder aktualisiert werden. Danach können wir
gewohnt weiterarbeiten.
sitecopy Site
| zeigt, welche Änderungen auf dem Server zu tun wären,
damit er der lokalen Version entspricht.
|
|
sitecopy -u Site
| Upload der lokalen Version zum Server, der Server
wird der lokalen Seite angepaßt.
| Files auf dem Server werden eventuell überschrieben (nur
wenn safe nicht in der Konfigurationsdatei steht).
Achtung: Files, die lokal nicht mehr vorhanden
sind, werden trotzdem auf dem Server gelöscht, unabhängig von
safe . (Ich denke, das ist ein Bug.)
|
sitecopy -f Site
| Download der Fileliste vom Server, das sollte
immer dann gemacht werden, wenn der Verdacht besteht, daß
auf dem Server Änderungen von Dritten gemacht wurden.
|
|
sitecopy -s Site
| Download vom Server, die lokale Seite wird
dem Server angepaßt.
| Files werden lokal eventuell überschrieben oder gelöscht!
|