sitecopy

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Anwendungen hinzufügen

  2. Rechte für Dateien und Ordner ändern

  3. Ein Terminal öffnen

  4. Einen Editor öffnen

Inhaltsverzeichnis
  1. Installation
  2. Konfiguration
  3. Verwendung
    1. Änderungen übertragen
  4. Links

Wiki/Icons/terminal.png sitecopy {en} ist eine Anwendung für die Kommandozeile, mit der sich leicht und einfach zwei Verzeichnisse per FTP oder WebDAV synchronisieren lassen. Es zielt auf Anwender ab, die eine Website aktuell halten möchten und nur über einen FTP-Zugang verfügen. Anders als zum Beispiel rsync überträgt es veränderte Dateien immer komplett. Dafür versucht es, Dateien, die nur verschoben wurden, automatisch zu erkennen und auch im Zielverzeichnis entsprechend zu verschieben (anstatt sie neu hoch zu laden) und somit Traffic zu sparen.

Installation

sitecopy befindet sich in den offiziellen Paketquellen und kann einfach über folgendes Paket installiert werden [1]:

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install sitecopy 

sudo aptitude install sitecopy 

Konfiguration

Zur korrekten Verwendung müssen im Heimverzeichnis zunächst ein Anwendungsverzeichnis und eine Konfigurationsdatei erstellt werden. Es ist wichtig, dass diese nur für den Benutzer lesbar [2] sind. Das Programm verweigert andernfalls die Funktion. Dazu werden folgende Befehle in einem Terminalfenster ausgeführt [3]:

mkdir -m 700 ~/.sitecopy
touch ~/.sitecopyrc
chmod 600 ~/.sitecopyrc 

In der Datei ~/.sitecopyrc werden die Einstellungen für jede Seite, die synchronisiert werden soll, gespeichert. Eine Beispielkonfiguration könnte so aussehen [4]:

site Seite                                 #Profilname
  server ftp.Seite.de                      #Servername
  username Benutzername                    #Anmeldename
  password Passwort                        #Passwort
  local /PFAD/ZUM/LOKALEN/VERZEICHNIS      #lokaler Verzeichnispfad
  remote /PFAD/ZUM/ENTFERNTEN/VERZEICHNIS  #entfernter Verzeichnispfad
  port XY                                  #Portnummer (optional)
  proxy-server Proxy-Name                  #Proxyserver (optional)
  proxy-port YX                            #Proxyport (optional)
  url Seitenadresse                        # (optional)
  protocol Protokoll                       #ftp oder webdav (optional)
  ftp Option                               #FTP-Optionen: nopasv, showquit, usecwd|nousecwd (optional), können kombiniert werden (eins pro Zeile)
  http Option                              #HTTP-Optionen: expect, secure (optional), können kombiniert werden (eins pro Zeile)
  safe                                     #Im Zielverzeichnis geänderte Dateien werden erhalten (optional)
  state Option                             #checksum|timesize (optional)
  permissions Option                       #ignore|exec|all|dir (optional)
  symlinks Option                          #ignore|follow|maintain (optional)
  nodelete                                 #Im Zielverzeichnis wird nicht gelöscht
  nooverwrite                              #Es wird nichts überschrieben, nur neue Dateien hochgeladen
  checkmoved                               #Ob auf verschobene Dateien überprüft werden soll. Angehängtes renames benennt um
  tempupload                               # (optional)
  exclude Muster                           #Muster, welches nicht hochgeladen werden soll (z.B. ".ignorieren"; optional)
  ignore Muster
  ascii Muster

site Seite2
  server server2.domain.com
  remote /PFAD
  local /PFAD
  username Benutzername2
  password Passwort2

In der Manpage von sitecopy werden die einzelnen Schalter nochmals ausführlich beschrieben.

Verwendung

Bevor sitecopy verwendet werden kann, muss beim ersten Programmstart immer eine initialisierende Synchronisierung durchgeführt werden. Dabei werden drei Fälle unterschieden:

  1. Für den Fall, dass die lokalen Daten bereits mit den entfernten Daten synchron (= identisch) sind, wird sitecopy mit

    sitecopy --catchup Seite 

    initialisiert.

  2. Liegt die Seite nur auf dem entfernten Server und nicht lokal vor, initialisiert man sitecopy mit

    sitecopy --fetch Seite
    sitecopy --synchronize Seite 

    Aber Vorsicht, dieser Befehl erstellt eine lokale Kopie der entfernten Daten und überschreibt somit bereits vorhandene.

  3. Liegen die Daten nur lokal vor, initialisiert man sitecopy mit

    sitecopy --init Seite 

Änderungen übertragen

Hat man sitecopy initialisiert oder die lokalen Daten bearbeitet und möchte man nun Änderungen auf den entfernten Server übertragen, kann man sich zunächst mit

sitecopy Seite 

die zu übertragenden Änderungen anzeigen lassen und sie anschließend mit

sitecopy --update Seite 

anwenden lassen.