Das Wiederherstellen eines Backups aus einer ZIP-Datei – wie diejenigen, die von unserer herunterladbaren Backup-Funktion erzeugt werden – kann manchmal ein langwieriger Prozess sein. Wenn du eine ZIP-Datei lokal auf deinem Computer entpackst, bevor du das Backup mit SFTP hochlädst, gerätst du wahrscheinlich in einen Engpass, da SFTP nur eine begrenzte Anzahl von Dateien gleichzeitig übertragen kann.

Glücklicherweise gibt es eine schnellere Methode, die die Wiederherstellungszeit des Backups erheblich verkürzen kann.

Anstatt eine ZIP-Datei lokal zu entpacken und den entpackten Ordner hochzuladen, ist es oft schneller, eine ZIP-Datei vor dem Entpacken auf den Server hochzuladen.

In diesem Beitrag erläutern wir, wie man eine mit SSH auf einen Server hochgeladene Datei entpackt. Für unser Beispiel werden wir eine Sicherungsdatei auf einem Kinsta-Server entpacken, aber dieselbe Technik kann auch zum Entpacken einer beliebigen ZIP-Datei auf einem beliebigen Linux-Server verwendet werden.

Schritt 1 – Melde dich mit SSH bei deinem Server an

Der erste Schritt besteht darin, sich mit SSH auf deinem Server anzumelden. Dazu benötigst du einen SSH-Client wie die eingebaute Terminal-Anwendung in MacOS und Linux oder den kostenlosen PuTTY-Client unter Windows sowie die SSH-Anmeldedaten – IP-Adresse, Benutzername, Passwort (optional) und Port.

Passwort vs. Authentifizierung mit öffentlichem Schlüssel

Du fragst dich vielleicht, warum das Passwort optional ist. Wenn du dich mit SSH bei deinem Server anmeldest, gibt es zwei Authentifizierungsmethoden – Passwort- und Public-Key-Authentifizierung. Die Passwortauthentifizierungsmethode verwendet ein Klartextpasswort.

Die Authentifizierung mit öffentlichem Schlüssel wird allgemein als sicherere Alternative zur Passwortauthentifizierung angesehen. Bei der Authentifizierungsmethode mit öffentlichem Schlüssel musst du ein Schlüsselpaar – öffentlicher Schlüssel und privater Schlüssel – erzeugen. Der öffentliche Schlüssel wird auf den Server hochgeladen, während der private Schlüssel lokal auf deinem Computer gespeichert wird. Während des SSH-Anmeldevorgangs wird die kryptographische Verbindung zwischen den beiden Schlüsseln überprüft, um den Benutzer zu authentifizieren.

Kinsta-Benutzer können öffentliche SSH-Schlüssel im MyKinsta-Dashboard hochladen. Wenn du einen anderen Server-Provider verwendest, empfehlen wir dir, einen Blick in die entsprechende Dokumentation zum Hochladen von SSH-Schlüsseln auf den Server zu werfen.

Nachdem wir nun die Unterschiede zwischen der Authentifizierung mit Passwort und öffentlichen Schlüsseln behandelt haben, gehen wir zum SSH-Anmeldeprozess über. Für Kinsta-Benutzer stehen die SSH-Anmeldedaten zusammen mit dem vollständigen SSH-Terminalbefehl im MyKinsta-Dashboard zur Verfügung.

SSH-Terminal-Befehl in MyKinsta.
SSH-Terminal-Befehl in MyKinsta.

Wenn du einen anderen Web-Host oder Server-Provider verwendest, sind die SSH-Details normalerweise auch in deinem Dashboard zu finden.

Nachdem du die Anmeldedaten gefunden hast, kannst du dich mit dem folgenden SSH-Befehl anmelden.

ssh username@ip-address -p port

Mit den untenstehenden Beispiel-Anmeldedaten würde der SSH-Terminalbefehl ssh [email protected] -p 24910 lauten. Wenn du keine Authentifizierung mit öffentlichem Schlüssel verwendest, wirst du auch nach der Ausführung des Anmeldebefehls zur Eingabe des SSH-Passworts aufgefordert.

  • IP-Adresse: 146.148.59.197
  • Username: kinstasite
  • Port: 24910

Nach einer erfolgreichen SSH-Anmeldung solltest du so etwas in deinem Terminal-Fenster sehen.

SSH-Terminal-Fenster.
SSH-Terminal-Fenster.

Schritt 2 – Installieren des entpackten Pakets (optional)

Bei einigen Linux-Distributionen ist das unzip-Paket nicht standardmäßig installiert. Kinsta-Benutzer müssen sich nicht um die Installation des unzip-Pakets kümmern, da es automatisch in allen Containern unserer Webseite installiert wird. Wenn du einen Server verwaltest, auf dem das unzip-Paket nicht installiert ist, kannst du den folgenden Befehl verwenden, um es zu installieren – beachte, dass sudo-Level-Berechtigungen erforderlich sind.

Ubuntu und Debian

`sudo apt install unzip`

CentOS und Fedora

`sudo yum install unzip`

Schritt 3 – Entpacken der ZIP-Datei mit dem Terminal

Der nächste Schritt besteht darin, zu der ZIP-Datei zu navigieren und sie zu entpacken. Um zum richtigen Ordner zu navigieren, können wir den Befehl cd verwenden, wie unten gezeigt.

cd directory

Wir haben unsere Datei backup.zip in das Verzeichnis ~/private hochgeladen, daher verwenden wir den folgenden Befehl.

cd ~/private

Beachte, wie unsere Terminal-Eingabeaufforderung jetzt das Verzeichnis ~/private anzeigt.

Navigiere zu dem Verzeichnis, das deine ZIP-Datei enthält.
Navigiere zu dem Verzeichnis, das deine ZIP-Datei enthält.

Wir können den Befehl ls verwenden, um die Dateien und Ordner im aktuellen Verzeichnis aufzulisten. In der Abbildung unten siehst du die Datei backup.zip in unserem Verzeichnis ~/private.

Dateien im Terminal auflisten.
Dateien im Terminal auflisten.

Es gibt zwei Möglichkeiten, eine ZIP-Datei zu entpacken. Du kannst sie entweder in das aktuelle Verzeichnis oder in ein anderes Verzeichnis entpacken.

Um die Datei in das aktuelle Verzeichnis zu entpacken, verwende den nachstehenden Befehl.

unzip your-file.zip

Um die Datei in ein anderes Verzeichnis zu entpacken, verwende stattdessen diesen Befehl.

unzip your-file.zip -d directory

Für unsere Datei backup.zip wollen wir sie in unseren Ordner ~/public entpacken, was mit dem untenstehenden Befehl möglich ist.

unzip backup.zip -d ~/public

Nachdem du den Befehl unzip ausgeführt hast, solltest du eine Reihe von Zeilen sehen, die mit „inflating“ beginnen. Dies zeigt an, dass der Entpackvorgang erfolgreich gestartet wurde.

Dateien im Terminal entpacken.
Dateien im Terminal entpacken.

Nachdem der Entpackvorgang abgeschlossen ist, navigiere mit dem Befehl cd zum Zielverzeichnis und liste die Dateien mit dem Befehl ls auf, um zu überprüfen, ob die entpackten Dateien am richtigen Ort sind.

Überprüfe die entpackten Dateien
Überprüfe die entpackten Dateien

Wenn du die ursprüngliche ZIP-Datei nach dem Entpacken entfernen möchtest, kannst du den Befehl rm wie folgt verwenden.

rm /path/to/your-file.zip

Wenn du es mit einer ZIP-Datei zu tun hast, die mehr als 50 MB groß ist, ist es in der Regel schneller, sie auf dem Server statt lokal auf deinem Computer zu entpacken. Aber das Entpacken von ZIP-Dateien geht noch weiter, da die Verwendung von SSH und Terminal für eine Reihe von Anwendungsfällen nützlich ist, die über das Wiederherstellen von Backups hinausgehen.

Zusammenfassung

Die Möglichkeit, eine ZIP-Datei mit SSH im Terminal zu entpacken, kann deinen Arbeitsablauf erheblich beschleunigen – insbesondere, wenn du eine große Anzahl von Dateien in großen Mengen hochlädst. Mit den in diesem Beitrag aufgeführten SSH-Befehlen kannst du Backups schnell wiederherstellen und Inhalte verschieben, ohne lange SFTP-Uploads abwarten zu müssen.