Het herstellen van een back-up vanuit een ZIP bestand – zoals degene die zijn gegenereerd door onze downloadbare back-ups feature – kan soms een omslachtig en langdurig proces zijn. Als je het ZIP bestand lokaal op je computer uitpakt en de back-up vervolgens met SFTP uploadt, dan kom je waarschijnlijk het probleem tegen dat SFTP slechts een beperkt aantal bestanden tegelijk kan overdragen.

Gelukkig is er een snellere methode die de tijd die het kost om een back-up te herstellen aanzienlijk kan verkorten.

In plaats dat je het ZIP bestand lokaal uitpakt en de uitgepakte map uploadt, is het vaak sneller om een ZIP bestand naar de server te uploaden en deze daarna uit te pakken.

In dit bericht leggen we uit hoe je een bestand dat is geüpload naar een server met SSH uitpakt. Voor ons voorbeeld zullen we een back-upbestand uitpakken op een server van Kinsta, maar dezelfde techniek kan worden gebruikt om elk ZIP bestand op elke Linux server uit te pakken.

Stap 1 – Log in op je server met SSH

De eerste stap is om met SSH in te loggen op je server. Om dit te doen heb je een SSH client nodig, zoals de ingebouwde Terminal app in macOS en Linux of de gratis PuTTY client in Windows. Daarnaast heb je uiteraard je SSH inloggegevens nodig – IP adres, gebruikersnaam, wachtwoord (optioneel) en poort.

Wachtwoord vs publieke sleutel verificatie

Je vraagt je misschien af waarom zoiets belangrijks als een wachtwoord optioneel is. Er zijn twee verificatiemethoden om met SSH in te loggen op je server – wachtwoord en verificatie met een publieke sleutel (publieke sleutel). Verificatie met een wachtwoord gebruikt een wachtwoord in platte tekst.

Publieke sleutel verificatie wordt over het algemeen beschouwd als een veiliger alternatief dan wachtwoordverificatie. Voor de methode van publieke sleutel verificatie moet je een sleutelpaar (key pair) genereren – een publieke sleutel en een privé sleutel. De publieke sleutel wordt geüpload naar de server, terwijl de private key lokaal op je computer wordt opgeslagen. Tijdens het SSH inlogproces, wordt de cryptografische link tussen de twee sleutels geauthenticeerd om de gebruiker te verifiëren.

Kinsta gebruikers kunnen public SSH keys uploaden in het MyKinsta dashboard. Als je een andere serverprovider gebruikt, dan raden we aan om de relevante documentatie te bekijken over het uploaden van SSH keys naar de server.

Nu we het verschil tussen verificatie middels een wachtwoord en een publieke sleutel hebben besproken, is het tijd om het SSH inlogproces te bespreken. Voor Kinsta gebruikers worden de SSH inloggegevens samen met het volledige SSH terminalcommando verstrekt in het MyKinsta dashboard.

SSL terminalopdracht in MyKinsta.
SSL terminalopdracht in MyKinsta.

Als je een andere webhost of serverprovider gebruikt, dan zijn de SSL gegevens meestal ook te vinden in je dashboard.

Nadat je de inloggegevens hebt gevonden, kan je met het volgende SSH commando inloggen.

ssh username@ip-address -p port

Met de voorbeeld-inloggegevens hieronder, zou het SSH terminalcommando ssh [email protected] -p 24910 zijn. Als je geen publieke sleutel verificatie gebruikt, dan word je na het invoeren van het inlogcommando om het SSH wachtwoord gevraagd.

  • IP adres: 146.148.59.197
  • Gebruikersnaam: kinstasite
  • Poort: 24910

Nu je eenmaal ingelogd bent, zou je iets als het onderstaande Terminal venster moeten zien.

SSL terminalvenster
SSL terminalvenster

Stap 2 – Installeer het Unzip package (optioneel)

In een aantal Linux distributies is de unzip package niet standaard geïnstalleerd. Kinsta gebruikers hoeven zich hierover geen zorgen te maken: het unzip package is automatisch op al onze sitecontainers geïnstalleerd. Als je een server beheert waarop het unzip package niet is geïnstalleerd, kan je het volgende commando gebruiken om het te installeren – let op dat sudo machtigingen vereist zijn.

Ubuntu en Debian

`sudo apt install unzip`

CentOS en Fedora

`sudo yum install unzip`

Stap 3 – Pak het ZIP bestand uit met Terminal

De volgende stap is om naar het ZIP bestand te navigeren en het uit te pakken. Om naar de juiste map te navigeren, kunnen we het cd commando gebruiken, zoals je hieronder kan zien.

cd directory

We hebben ons back-up.zip bestand geüpload naar de map ~/private, dus gebruiken we het onderstaande commando.

cd ~/private

Merk op dat ons Terminal prompt nu de map ~/private laat zien.

Navigeer naar de map met je ZIP bestand.
Navigeer naar de map met je ZIP bestand.

We kunnen nu het ls commando gebruiken om de bestanden en mappen in de huidige map weer te geven. In de screenshort hieronder, kan je het back-up.zip bestand zien in onze map ~/private.

Bestanden weergeven in Terminal.
Bestanden weergeven in Terminal.

Er zijn twee manieren om een ZIP bestand te unzippen. Je kan ze unzippen naar de huidige map of naar een andere map.

Om ze te unzippen naar de huidige map, gebruik het onderstaande commando.

unzip your-file.zip

Om ze te unzippen naar een andere map, gebruik je dit commando.

unzip your-file.zip -d directory

Wij willen ons back-up.zip bestand unzippen naar onze map ~/public. Dit kunnen we met onderstaand commando doen.

unzip back-up.zip -d ~/public

Na het uitvoeren van het unzip commando, zou je een reeks regels moeten zien die beginnen met “inflating”. Dit geeft aan dat het unzip-proces met succes is gestart.

Bestanden unzippen in Terminal.
Bestanden unzippen in Terminal.

Nadat je het unzip-proces hebt afgerond, kan je met het cd commando naar de bestemmingsmap navigeren. Hier kan je met het ls commando controleren of de uitgepakte bestanden inderdaad in de juiste map staan.

Uitgepakte bestanden controleren.
Uitgepakte bestanden controleren.

Als je na het unzippen het originele ZIP bestand wil verwijderen, dan kan je het commando rm als volgt gebruiken.

rm /path/to/your-file.zip

Als je ZIP bestand meer dan 50MB groot is, dan is het uitpakken op de server vaak sneller dan dat je dit op je lokale computer doet. SSH en Terminal gaan nog veel verder dan alleen het unzippen van ZIP bestanden. Je kan ze gebruiken voor veel meer dingen dan het herstellen van back-ups.

Samenvatting

Je kan je workflow enorm versnellen door in Terminal met SSH je ZIP bestanden te unzippen – helemaal als je vaak grote bestanden in bulk uploadt. Met de SSH commando’s uit dit artikel kan je snel back-ups herstellen en inhoud verplaatsen zonder te wachten op lange SFTP uploads.