Vroeg of laat moeten er bestanden naar de server: een sitebuild, een databasedump, een configuratie die je lokaal hebt geschreven. Daar heb je geen FTP-server voor nodig: SSH geeft je al drie goede tools. Alle voorbeelden gebruiken documentatieadressen; vervang ze door die van je eigen server.
Ken je verbindingsgegevens
- Plan met dedicated IP:
root@203.0.113.10, poort 22. - NAT-plan: de host en je persoonlijke SSH-poort staan in het paneel (bijvoorbeeld poort 20123). Alle commando's hieronder hebben die poort nodig; zie hoe NAT-toegang werkt.
scp: een bestand of map kopiëren
Een bestand uploaden:
scp backup.sql root@203.0.113.10:/root/
Er een downloaden:
scp root@203.0.113.10:/var/log/nginx/access.log .
Een hele map:
scp -r ./site root@203.0.113.10:/var/www/
Voeg op een NAT-plan de poort toe met een hoofdletter -P:
scp -P 20123 backup.sql root@your-nat-host:/root/
rsync: de juiste tool voor mappen
rsync stuurt alleen de verschillen, toont de voortgang en gaat verder als de verbinding wegvalt. Het moet aan beide kanten geïnstalleerd zijn (apt install -y rsync).
rsync -avzP ./site/ root@203.0.113.10:/var/www/site/
-abehoudt rechten en tijdstempels,-vtoont de bestanden,-zcomprimeert,-Ptoont voortgang en maakt hervatten mogelijk.
Met een aangepaste SSH-poort:
rsync -avzP -e "ssh -p 20123" ./site/ root@your-nat-host:/var/www/site/
Om van het doel een exacte spiegel te maken (bestanden verwijderen die je lokaal hebt weggehaald), voeg je --delete toe, maar bekijk eerst wat het gaat doen:
rsync -avzP --delete --dry-run ./site/ root@203.0.113.10:/var/www/site/
Let op de slash aan het eind. ./site/ kopieert de inhoud van site; ./site kopieert de map zelf naar het doel. Met --delete bepaalt dat verschil welke map wordt leeggemaakt.
SFTP: interactief of grafisch
De commandoregelclient werkt als een kleine bestandsbeheerder:
sftp -P 20123 root@your-nat-host
sftp> put backup.sql
sftp> get /etc/nginx/nginx.conf
sftp> exit
Liever een grafische interface? FileZilla, WinSCP of Cyberduck verbinden met dezelfde gegevens: protocol SFTP, je host, poort 22 (of je NAT-poort), gebruiker root en je SSH-sleutel of wachtwoord.
Sneller met SSH-sleutels
Al deze tools gebruiken SSH, dus een SSH-sleutel haalt de wachtwoordvragen weg en laat je overdrachten vanuit cron automatiseren. Nog niet gedaan? SSH-sleutelauthenticatie. Nieuwe EQVPS-servers accepteren het root-wachtwoord uit het paneel totdat je overstapt op sleutels, wat we je aanraden op de eerste dag te doen.
Grote overdrachten
Voor tientallen gigabytes is rsync de enige verstandige keuze: valt de verbinding weg, draai dan hetzelfde commando opnieuw en het gaat verder waar het was gebleven. Draai het in tmux of screen op de verzendende machine, zodat het dichtklappen van je laptop het niet afbreekt.
Reacties
Nog geen reacties. Wees de eerste.