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/

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
| Alternativ | Vad det gör |
|---|---|
-a | Arkivläge. Bevarar mappar, behörigheter, tidsstämplar och symlänkar. |
-v | Detaljerad utmatning, så du kan se vad som kopieras. |
-z | Komprimerar data under överföring. Användbart på långsammare anslutningar. |
--progress | Visar kopieringsframsteg för stora filer. |
--dry-run | Visar vad som skulle hända utan att ändra filer. |
--delete | Tar bort fjärrfiler som inte finns i källan. |
--exclude | Hoppar över matchande filer eller mappar. |
När man ska använda varje
| Verktyg | Bäst för |
|---|---|
scp | Enkla engångskopior av filer eller mappar. |
rsync | Upprepade 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.
