Websites verwalten · 6 min read · Feb 14, 2026

Wartung von Remote-Websites mit sitecopy auf Ubuntu 16.04

sitecopy ist ein Tool zum Kopieren lokal gespeicherter Websites auf einen Remote-Webserver (unter Verwendung von FTP oder WebDAV). Es hilft Ihnen, die Remote-Website mit Ihrer lokalen Kopie synchron zu halten, indem geänderte lokale Dateien hochgeladen und entfernte Dateien gelöscht werden, die auf dem lokalen Computer gelöscht wurden. Dieses Tutorial zeigt, wie Sie Ihre Remote-Website von Ihrem lokalen Ubuntu 16.04-Desktop aus mit sitecopy verwalten können.

1 Vorbemerkung

Ich benutze den Benutzernamen till auf meinem lokalen Ubuntu-Desktop (ich bin als dieser Benutzer auf meinem lokalen Linux-Desktop angemeldet - bitte melden Sie sich nicht als root an). Die Dateien für die Remote-Website example.com sind im Verzeichnis /home/till/sites/example.com/ auf dem lokalen Computer gespeichert. Das Remote-Dokumentenstammverzeichnis ist /var/www/example.com/web/.

Sie können sitecopy mit FTP und WebDAV verwenden, daher sollten Sie entweder ein FTP- oder ein WebDAV-Konto auf dem Remote-Server haben. Ich verwende hier den FTP-Benutzernamen defaulttill und das Passwort howtoforge.

Die Remote-Website, die ich für diese Beispiele verwende, wurde mit ISPConfig erstellt. Aber jede Website, auf die Sie FTP- oder WebDAV-Zugriff haben, funktioniert.

2 Installation von sitecopy

Sitecopy kann auf dem lokalen Desktop wie folgt installiert werden (wir benötigen Root-Rechte, daher verwenden wir sudo):

sudo apt-get -y install sitecopy

Sie sollten jetzt einen Blick auf die Man-Seite von sitecopy werfen, um sich mit seinen Optionen vertraut zu machen:

man sitecopy

3 Konfiguration von sitecopy

Gehen Sie in Ihr Home-Verzeichnis auf dem lokalen Desktop…

cd ~

… und erstellen Sie das Verzeichnis .sitecopy mit Berechtigungen von 700 (sitecopy verwendet dieses Verzeichnis, um Dateidetails zu speichern):

mkdir -m 700 .sitecopy

Erstellen Sie als Nächstes die sitecopy-Konfigurationsdatei .sitecopyrc:

touch .sitecopyrc  
chmod 600 .sitecopyrc

Öffnen Sie die Datei…

nano .sitecopyrc

… und fügen Sie die Konfiguration für die Website example.com ein. Hier sind zwei Beispiele, eines für FTP…

site example.com
  server example.com
  username defaulttill
  password howtoforge
  local /home/till/sites/example.com/
  remote ~/web/
  exclude *.bak
  exclude *~

… und eines für WebDAV:

site example.com
  server example.com
  protocol webdav
  username defaulttill
  password howtoforge
  local /home/till/sites/example.com/
  remote /var/www/example.com/web/
  exclude *.bak
  exclude *~

(Sie können für jede Website, die Sie mit sitecopy verwalten möchten, eine Strophe definieren.)

Die Direktive site muss von einem Namen für die Website gefolgt werden - Sie können einen beliebigen Namen wählen, z. B. example.com oder mysite. Dieser Name wird später in den sitecopy-Befehlen verwendet. Die folgenden Konfigurationsoptionen, die zu dieser Website gehören, müssen eingerückt sein!

Die meisten der folgenden Konfigurationsoptionen sind selbsterklärend. Das Standardprotokoll ist FTP; wenn Sie WebDAV verwenden möchten, geben Sie bitte das Protokoll webdav an. Die lokale Direktive enthält den lokalen Pfad der Website-Kopie, remote enthält den Pfad der Website auf dem Remote-Server - er kann absolut oder relativ sein. Wenn Ihr Benutzer chrooted ist (was normalerweise bei FTP-Benutzern der Fall ist), sollten Sie einen relativen Pfad verwenden (z. B. ~/ oder ~/web). Andernfalls verwenden Sie einen absoluten Pfad.

Die Ausschlusszeilen sind optional, sie dienen nur dazu, zu demonstrieren, wie Sie Dateien von der Wartung durch sitecopy ausschließen können.

Sie können mehr über die Konfiguration von sitecopy auf seiner Man-Seite erfahren:

man sitecopy

4 Erste Verwendung

Bevor Sie sitecopy zum ersten Mal verwenden, müssen Sie entscheiden, welches der folgenden drei Szenarien Ihrer Situation entspricht:

  1. Vorhandene Remote-Website und lokale Kopie, beide synchron.
  2. Vorhandene Remote-Website, keine lokale Kopie.
  3. Neue Remote-Website, vorhandene lokale Kopie.

4.1 Vorhandene Remote-Website und lokale Kopie, beide synchron

Wenn sowohl die Remote-Website als auch die lokale Kopie existieren und synchron sind, führen Sie aus

sitecopy --catchup example.com

um sitecopy glauben zu lassen, dass die lokale Website genau die gleiche ist wie die Remote-Kopie. Ersetzen Sie example.com durch den Namen der Website, die Sie in der .sitecopyrc-Datei verwenden.

till@ubuntu-desktop:~$ sitecopy --catchup example.com  
sitecopy: Catching up site `example.com' (on example.com in ~/web/)  
sitecopy: Alle Dateien und Verzeichnisse sind als remote aktualisiert markiert.

4.2 Vorhandene Remote-Website, keine lokale Kopie

Wenn Sie keine lokale Kopie der vorhandenen Remote-Website haben, führen Sie zuerst aus

sitecopy --fetch example.com

damit sitecopy die Liste der Dateien vom Remote-Server abruft (ersetzen Sie example.com durch den Namen der Website, die Sie in der .sitecopyrc-Datei verwenden):

till@ubuntu-desktop:~$ sitecopy --fetch example.com  
sitecopy: Fetching site `example.com' (on example.com in ~/web/)  
Datei: error/503.html - Größe 1906  
Datei: error/502.html - Größe 1881  
Datei: error/500.html - Größe 1851  
Datei: error/405.html - Größe 1810  
Datei: error/404.html - Größe 1806  
Datei: error/403.html - Größe 1809  
Datei: error/401.html - Größe 1806  
Datei: error/400.html - Größe 1792  
Datei: stats/.htaccess - Größe 128  
Datei: robots.txt - Größe 14  
Datei: index.html - Größe 1861  
Datei: favicon.ico - Größe 7358  
Datei: .htaccess - Größe 26  
Verzeichnis: error/  
Verzeichnis: stats/  
sitecopy: Fetch abgeschlossen.

Führen Sie dann aus

sitecopy --synch example.com

um die lokale Website von der Remote-Kopie zu aktualisieren.

sitecopy: Synchronizing site `example.com' (on example.com in ~/web/)  
Erstelle error/: erledigt.  
Erstelle stats/: erledigt.  
Herunterladen von error/503.html: [.] erledigt.  
Herunterladen von error/502.html: [.] erledigt.  
Herunterladen von error/500.html: [.] erledigt.  
Herunterladen von error/405.html: [.] erledigt.  
Herunterladen von error/404.html: [.] erledigt.  
Herunterladen von error/403.html: [.] erledigt.  
Herunterladen von error/401.html: [.] erledigt.  
Herunterladen von error/400.html: [.] erledigt.  
Herunterladen von stats/.htaccess: [.] erledigt.  
Herunterladen von robots.txt: [.] erledigt.  
Herunterladen von index.html: [.] erledigt.  
Herunterladen von favicon.ico: [.] erledigt.  
Herunterladen von .htaccess: [.] erledigt.  
sitecopy: Synchronisierung erfolgreich abgeschlossen.

4.3 Neue Remote-Website, vorhandene lokale Kopie

Wenn die lokale Kopie existiert, Sie aber eine leere Remote-Website haben, führen Sie aus

sitecopy --init example.com

um die Website zu initialisieren. Ersetzen Sie example.com durch den Namen der Website, die Sie in der .sitecopyrc-Datei verwenden.

till@ubuntu-desktop:~$ sitecopy --init example.com  
sitecopy: Initializing site `example.com' (on example.com in ~/web/)  
sitecopy: Alle Dateien und Verzeichnisse sind als NICHT aktualisiert markiert.
  

Führen Sie dann aus:

sitecopy --update example.com

um die lokale Kopie auf die Remote-Website hochzuladen:

till@ubuntu-desktop:~$ sitecopy --update example.com  
sitecopy: Updating site `example.com' (on example.com in ~/web/)  
Erstelle stats/: erledigt.  
Erstelle data/: erledigt.  
Erstelle error/: erledigt.  
Hochladen von stats/.htaccess: [.] erledigt.  
Hochladen von data/index.html: [.] erledigt.  
Hochladen von error/403.html: [.] erledigt.  
Hochladen von error/401.html: [.] erledigt.  
Hochladen von error/404.html: [.] erledigt.  
Hochladen von error/503.html: [.] erledigt.  
Hochladen von error/400.html: [.] erledigt.  
Hochladen von error/502.html: [.] erledigt.  
Hochladen von error/405.html: [.] erledigt.  
Hochladen von error/500.html: [.] erledigt.  
Hochladen von index.html: [.] erledigt.  
Hochladen von robots.txt: [.] erledigt.  
Hochladen von .htaccess: [.] erledigt.  
Hochladen von favicon.ico: [.] erledigt.  
sitecopy: Update erfolgreich abgeschlossen.

5 Verwendung von sitecopy

Danach ist die Verwendung von sitecopy wirklich einfach. Sie können mit Ihrer lokalen Kopie arbeiten und Dateien aktualisieren, erstellen und löschen. Ein erster, aber optionaler Schritt ist, auszuführen

sitecopy example.com

um herauszufinden, welche Dateien lokal geändert wurden (ersetzen Sie example.com durch den Namen der Website, die Sie in der .sitecopyrc-Datei verwenden):

till@ubuntu-desktop:~$ sitecopy example.com  
sitecopy: Showing changes to site `example.com' (on example.com in ~/web/)  
* Diese Elemente wurden seit dem letzten Update hinzugefügt:  
info.php  
sitecopy: Die Remote-Website muss aktualisiert werden (1 Element zu aktualisieren).

Um Ihre Remote-Website mit Ihrer lokalen Kopie zu synchronisieren (d. h. neue und geänderte Dateien auf den Remote-Server hochzuladen und Dateien auf dem Remote-Server zu löschen, die lokal gelöscht wurden), führen Sie einfach aus

sitecopy --update example.com
till@ubuntu-desktop:~$ sitecopy --update example.com  
sitecopy: Updating site `example.com' (on example.com in ~/web/)  
Hochladen von info.php: [] erledigt.  
sitecopy: Update erfolgreich abgeschlossen.

Das ist es! Viel Spaß mit sitecopy!

6 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.