Hur man kopierar filer till en Linux VPS med rsync eller scp

Skriv ut
  • 0

scp och rsync kopierar filer över SSH. Använd dem för konfigurationer, skript, säkerhetskopior, världar och servermappar när SFTP inte är bekvämt.

scp är bäst för snabba engångskopior. rsync är bättre för upprepade synkroniseringar eftersom det kan kopiera endast ändrade filer, bevara behörigheter, exkludera mappar, förhandsgranska ändringar och spegla raderingar när du ber om det.

 

Kopiera en fil med scp

scp ./server.cfg username@VPS_IP_ADDRESS:/home/username/server.cfg

 

Kopiera en mapp med scp

scp -r ./world username@VPS_IP_ADDRESS:/home/username/world

 

Använd en anpassad SSH-port med scp

scp använder en versal -P för SSH-porten:

scp -P 2222 ./server.cfg username@VPS_IP_ADDRESS:/home/username/server.cfg

 

Använd en SSH-nyckel med scp

scp -i ~/.ssh/mykey ./server.cfg username@VPS_IP_ADDRESS:/home/username/server.cfg

 

Synkronisera en mapp med rsync

rsync -avz ./world/ username@VPS_IP_ADDRESS:/home/username/world/

Den avslutande snedstrecket är viktigt. ./world/ kopierar innehållet i mappen till destinationsmappen. Utan det avslutande snedstrecket kopierar rsync själva mappen till destinationen.

 

Förhandsgranska en rsync innan kopiering

Använd --dry-run när du vill kontrollera vad som skulle ändras innan du rör de fjärranslutna filerna:

rsync -avz --dry-run ./world/ username@VPS_IP_ADDRESS:/home/username/world/

Linux-terminal som visar en rsync-förhandsgranskning innan filer kopieras till en VPS

 

Spegla en mapp exakt

--delete tar bort fjärrfiler som inte längre finns lokalt. Detta är användbart för exakta speglingar, men farligt om du pekar det mot fel mapp.

rsync -avz --delete ./world/ username@VPS_IP_ADDRESS:/home/username/world/

Kör samma kommando med --dry-run först om du använder --delete.

 

Exkludera filer eller mappar

Exkludera loggar, cachemappar, temporära filer eller genererade filer du inte vill kopiera:

rsync -avz --exclude "logs/" --exclude "*.tmp" ./server/ username@VPS_IP_ADDRESS:/home/username/server/

 

Använd en anpassad SSH-port med rsync

rsync skickar SSH-alternativ genom -e:

rsync -avz -e "ssh -p 2222" ./server/ username@VPS_IP_ADDRESS:/home/username/server/

 

Använd en SSH-nyckel med rsync

rsync -avz -e "ssh -i ~/.ssh/mykey" ./server/ username@VPS_IP_ADDRESS:/home/username/server/

 

Kopiera från VPS tillbaka till din PC

Vänd på källan och destinationen när du laddar ner en mapp från VPS:

rsync -avz username@VPS_IP_ADDRESS:/home/username/world/ ./world-backup/

 

Användbara rsync-alternativ

AlternativVad det gör
-aArkivläge. Bevarar mappar, behörigheter, tidsstämplar och symlänkar.
-vDetaljerad utmatning, så du kan se vad som kopieras.
-zKomprimerar data under överföring. Användbart på långsammare anslutningar.
--progressVisar kopieringsframsteg för stora filer.
--dry-runVisar vad som skulle hända utan att ändra filer.
--deleteTar bort fjärrfiler som inte finns i källan.
--excludeHoppar över matchande filer eller mappar.

 

När man ska använda varje

VerktygBäst för
scpEnkla engångskopior av filer eller mappar.
rsyncUpprepade synkroniseringar, större mappar, säkerhetskopior, exkluderingar, förhandsgranskningar och kopiering av endast ändrade filer.

Stoppa spelservern innan du ersätter aktiva världsfiler, databasfiler eller sparningar. Ta en säkerhetskopia först om du använder --delete eller kopierar över en befintlig värld.


Hjälpte svaret dig?

Relaterade artiklar

«Tillbaka

Follow us on Social Media

Stay in the loop! Follow our social media accounts and stay up-to-date with the latest news, announcements, tips & tricks and behind-the-scenes insights!