Questions? We're happy to help

Hoe gebruik ik FTP mirror via SSH?

FTP Mirror is een SSH commando set om de bestands- en mappenstructuur van de ene server naar de andere server exact over te nemen. Je kunt dit gebruiken om bestanden over te zetten naar je cPanel account, erg handig bij het verhuizen van websites. FTP Mirror wordt uitgevoerd via SSH middels het lftp commando. In dit artikel leggen we uit welke commando's gebruikelijk of handig zijn bij het gebruiken van FTP Mirror.

LFTP

De volgende commando's zijn inzetbaar bij het gebruik van FTP Mirror.

Commando's LFTP

LFTP

Het lftp commando gebruiken we om het FTP programma te starten wat we gaan gebruiken om FTP mirror te kunnen gebruiken.

set ftp:ssl-allow

Met het commando set ftp:ssl-allow bepaal je of de SSL certificaat verificatie toegepast moet worden of niet. Je gebruikt dit commando door deze te volgen met een spatie gevolgt door true of false.

open

Met het open commando start je de verbinding met de server via de hostname of het adres wat hiervoor gebruikt wordt. Meestal is dit ftp.domein waar domein je domeinnaam is. Je gebruikt dit commando door open in te voeren gevolgd door een spatie en het (sub)domein waar je verbinding mee maakt.

user

Met het user commando geef je op met welke gebruiker je wilt inloggen op de server, dit is je FTP gebruiker. Meestal voer je deze tegelijk in (op een nieuwe regel) met het open commando. Je gebruikt het user commando door deze te volgen met een spatie en de gebruikersnaam.

mirror

Het mirror commando is wat we uiteindelijk nodig hebben om de gegevens tussen de twee locaties te spiegelen. Hiervoor voeren we eerst een stukje navigatie uit via de commando's die we hieronder benoemen. Het mirror commando gebruik je door deze te volgen met een spatie gevolgt door de bron map gevolgt door een spatie en hierna de doel map op de doelserver.

Voorbeeld: Je bestanden staan momenteel op server 1 en je wilt deze naar server 2. Op server 1 staan de bestanden in de map genaamd voorbeeld.nl en op server 2 moeten deze in de public_html komen te staan.

Je commando ziet er dan zo uit: mirror voorbeeld.nl public_html

Parameters LFTP mirror

-c

De --continue of -c parameter gebruik je om aan te geven dat bij een onverhoopte netwerkfout je mirror door moet gaan. Het gebruik hiervan is aan te raden.

-n

De --only-newer of -n parameter gebruik je om enkel bestanden die nieuwer zijn over te zetten. Bestaan de bestanden al op de doelserver maar zijn ze ouder? Dan worden die niet overgezet.

-R

De -R parameter (met hoofdletter R) gebruik je om je mirror in tegenovergestelde richting te doen. Je doelserver wordt de bron en de bronserver wordt het doel.

Commando's navigatie

cd

Het cd commando staat voor Change Directory, deze pas je dus toe om door de mappen structuur te navigeren. Je kunt dit gebruiken door het typen van cd gevolgt door een spatie en het pad waar je naar toe wilt. I.p.v. een pad kun je ook enkel de map invoeren die staat op het pad waar je je op dat moment begeeft om zo een niveau verder te navigeren.

cd ..

Wil je naar de bovenliggende map in je mappen structuur dan gebruik je cd gevolgt door een spatie en 2 puntjes.

Je krijgt dan dus: cd ..

ls

Met het ls commando vraag je een lijst op van mappen en bestanden die op het huidige pad zichtbaar zijn. Je terminal zal deze tonen na het uitvoeren van het ls commando.

exit

Ben je klaar met alles overzetten en wil je de verbinding sluiten gebruik je het exit commando.

Voorbeeld stappenplan

In dit voorbeeld schetsen we hoe je het gebruik van FTP mirror kunt toepassen, hiervoor maken we gebruik van een SSH verbinding die gestart wordt vanuit je Terminal of SSH programma. De volgorde van het gebruik van commando's en het bundelen van bepaalde commando's in 1 stap zijn niet in alle gevallen de enige manier, dit zal ook afhankelijk zijn van de twee locaties (servers) waar je mee verbind.

Lees ook: Hoe gebruik ik SSH?

Stap 1. Log in op SSH in met de login-gegevens van het cPanel account waar de kopie van de bestanden naartoe moeten (doelserver).

Stap 2. Stel vast in welke map je de bestanden wil plaatsen, via het commando ls kun je zien welke mappen er op het huidige niveau zitten (dit zal de root zijn van je account). In dit voorbeeld zal dat de public_html zijn welke zichtbaar is op dit niveau. Indien je naar lager gelegen mappen wilt navigeren en de inhoud hiervan wilt zien gebruik je de eerder genoemde cd commando's in combinatie met ls om de inhoud hiervan te tonen.

Stap 3a. We gaan nu vanuit de doelserver een lftp verbinding opzetten met de bronserver, de server waar momenteel de bestanden op staan die we volledig willen kopiëren. In een tekstverwerker zonder opmaak zetten we de volgende 4 commando's direct onder elkaar klaar:

lftp
set ftp:ssl-allow false
open DOMEIN
user GEBRUIKER

Stap 3b. Vervang de volgende informatie:
DOMEIN: hiervoer je het ftp server adres in van de bronserver. Meestal is dit zoiets als ftp.domein waar domein de domeinnaam is. Bijvoorbeeld ftp.voorbeeldhost.nl.
GEBRUIKER: Dit is de gebruikersnaam die nodig is om een FTP verbinding op te zetten, bijvoorbeeld v000001.

Stap 4. Kopieer de 4 commando's en plak deze in je SSH venster om ze achterelkaar uit te voeren. Er zal nu om het wachtwoord gevraagd worden van de FTP gebruiker om in te loggen op de bronserver. Voer het wachtwoord in en druk op enter.

Stap 5. Je bent nu verbonden met de server waar de bestanden opstaan. Vanuit hier kun je met de eerder genoemde navigatie commando's de map zoeken waar de bestanden in staan die je wilt kopiëren naar de doelserver. Wanneer je de in de bovenliggende map zit van de locatie die je wilt kopiëren kun je van start met de volgende stap.

In dit voorbeeld willen we de public_html welke geplaatst is in een map genaamd voorbeeld.nl welke in een map zit genaamd domains. Het pad van deze fictieve map is dus /domains/voorbeeld.nl/public_html . We openen in dit geval dus niet de public html_maar blijven in de boven liggende map voorbeeld.nl vanuit waar we deze map kunnen zien middels het ls commando.

Stap 6. Voer in je SSH venster nu het mirror commando in gevolgt door -c direct gevolgt door de map die je net gelokaliseerd hebt op de bronserver en de naam / locatie van de map op de doelserver. Omdat in dit voorbeeld beide locaties public_html heten voeren we die in, het kan dus zijn dat dit voor jou anders is. Het commando is in dit geval dus: mirror -c public_html public_html

Stap 7. Als alles goed gelukt is zul je nu een voortgang zien van het overzetten van de inhoud van de bron naar de doelserver. Je kunt de verbinding hierna weer sluiten via het exit commando.

Voorbeeld terminal

Het onderstaande voorbeeld geeft je ongeveer een idee hoe je ssh terminal er uit kan zien na de bovenstaande stappen allemaal gevolgd te hebben (we hebben de data en rechten wat versimpeld om het beter leesbaar te maken).

[voorbe1q@premium11 ~]$ ls
access-logs etc logs mail public_ftp public_html ssl tmp www
[voorbe1q@premium11 ~]$ lftp
lftp :~> set ftp:ssl-allow false
lftp :~> open ftp.voorbeeldhost.nl
lftp ftp.voorbeeldhost.nl:~> user v000001
Password:
lftp [email protected]:~> ls
-rw-r--r-- 1 80 www 36809419 Jun 24 23:59 tmp
-rw-r--r-- 1 80 v000001 36809419 Jun 28 13:17 domains
lftp [email protected]:/> cd domains
lftp [email protected]:/domains> ls
-rw-r--r-- 1 80 www 36809419 Jun 21 13:11 conf
-rw-r--r-- 1 80 v000001 36809419 Jun Oct 7 13:07 error_docs
-rw-r--r-- 1 80 v000001 36809419 Jun 13:13 .htaccess
-rw-r--r-- 1 80 v000001 36809419 Jul 11:11 voorbeeld.nl
lftp [email protected]:/domains> cd voorbeeld.nl
lftp [email protected]:/domains/voorbeeld.nl> ls
-rw-r--r-- 1 80 v000001 36809419 Jun Oct 7 13:07 index.html
-rw-r--r-- 1 80 v000001 36809419 Feb 3 10:20 public_html
lftp [email protected]:/domains/voorbeeld.nl> cd public_html
lftp [email protected]:/domains/voorbeeld.nl/public_html> ls
drwxr-xr-x 5 v000001 pemcln 4096 Nov 1 06:09 Contact
drwxr-xr-x 5 v000001 pemcln 4096 Dec 22 02:01 Downloads
drwxr-xr-x 5 v000001 pemcln 4096 Oct 7 15:22 Home
-rw-r--r-- 1 v000001 pemcln 258 Jan 11 05:50 index.php
drwxr-xr-x 2 v000001 pemcln 4096 Nov 8 21:12 mobile
drwxr-xr-x 5 v000001 pemcln 4096 Jun 3 03:09 Nieuws
drwxr-xr-x 5 v000001 pemcln 4096 Nov 12 12:01 Over-ons
-rw-r--r-- 1 v000001 pemcln 557 Dec 22 06:50 page.php
-rw-r--r-- 1 v000001 pemcln 79 Jan 11 05:50 robots.txt
-rw-r--r-- 1 v000001 pemcln 1953 Jan 11 05:50 sitemap.xml
drwxrwxrwx 2 v000001 pemcln 4096 Feb 3 10:15 admin
drwxr-xr-x 5 v000001 pemcln 4096 Dec 31 02:01 Webshop
lftp [email protected]:/domains/voorbeeld.nl/public_html> cd ..
lftp [email protected]:/domains/voorbeeld.nl> mirror -c public_html public_html
Total: 888 directories, 6660 files, 0 symlinks
New: 6659 files, 0 symlinks
Modified: 1 file, 0 symlinks
165147829 bytes transferred in 123 seconds (1.33M/s)
To be removed: 1 directory, 0 files, 0 symlinks
lftp [email protected]:/webspace/httpdocs> exit

Probleemoplossing

The authenticity of host ...

Wanneer je voor het eerst verbinding maakt met een server kan het zijn dat je de vraag krijgt of je de host vertrouwd. Dit zal er ongeveer zo uit zien (we hebben in dit voorbeeld de server, het ip en de ECDSA key vervangen met de betreffende gegevens):

The authenticity of host '[SERVER]:4000 ([IP]:4000)' can't be established.
ECDSA key fingerprint is SHA256:ECDSAKEY.
Are you sure you want to continue connecting (yes/no)?

Je kunt deze vraag beantwoorden met yes gevolgt door een enter om deze aan de lijst met bekende hosts toe te voegen.

 

Dit kennisbank artikel is voor het laatst bijgewerkt op: 7 oktober 2019

Did this article help you?

Status

Ga naar onze statuspagina voor een overzicht van recente storingen en onderhoud.

Opening hours

Maandag — vrijdag 9:00 — 17:00