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 sitecopySie sollten jetzt einen Blick auf die Man-Seite von sitecopy werfen, um sich mit seinen Optionen vertraut zu machen:
man sitecopy3 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 .sitecopyErstellen 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 sitecopy4 Erste Verwendung
Bevor Sie sitecopy zum ersten Mal verwenden, müssen Sie entscheiden, welches der folgenden drei Szenarien Ihrer Situation entspricht:
- Vorhandene Remote-Website und lokale Kopie, beide synchron.
- Vorhandene Remote-Website, keine lokale Kopie.
- 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.comum 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.comdamit 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.comum 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.comum 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.comum 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.comum 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.comtill@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
- sitecopy: http://www.manyfish.co.uk/sitecopy/
- Ubuntu: http://www.ubuntu.com/
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.