Hur man överför filer från en Linux -server till en annan: 3 steg

Innehållsförteckning:

Hur man överför filer från en Linux -server till en annan: 3 steg
Hur man överför filer från en Linux -server till en annan: 3 steg

Video: Hur man överför filer från en Linux -server till en annan: 3 steg

Video: Hur man överför filer från en Linux -server till en annan: 3 steg
Video: How to Transfer Photos from Mobile to USB Pendrive | Flash Drive 2024, Maj
Anonim

I en Linux-miljö med flera servrar innebär många uppgifter att flytta en eller flera filer från en server till en annan. Beroende på antalet filer du behöver flytta finns det flera kommandon som kan hjälpa dig ….

Låt oss anta för dessa diskussioner att våra servrar är Alice och Madhat, och att vår användare på Alice är kanin, och vår användare på madhat är Fieldmouse.

Steg

Överför filer från en Linux -server till en annan Steg 1
Överför filer från en Linux -server till en annan Steg 1

Steg 1. För en enda fil, prova kommandot "scp"

Du kan använda detta som ett "push" eller ett "pull" kommando, men låt oss börja med att skjuta filen till den andra servern. Medan du är på alice använder du kommandot "scp myfile fieldmouse@madhat: thatfile". Detta kommer att kopiera filen till det andra systemet, till fältmusens userid, med namnet "thatfile". Om du var inloggad på det andra systemet kan du lika gärna dra filen med kommandot "scp rabbit@alice: myfile thatfile" och få samma resultat.

Överför filer från en Linux -server till ett annat steg 2
Överför filer från en Linux -server till ett annat steg 2

Steg 2. För att kopiera en hel katalog kan vi återvända till kommandot "scp"

Den här gången lägger vi till -r -omkopplaren för att få kopian att fungera "rekursivt". "scp -r mydir fieldmouse@madhat:." kommer att kopiera hela katalogen "mydir" till det andra systemet, inklusive allt dess innehåll och ytterligare kataloger. Katalogen på madhat kommer fortfarande att heta mydir.

Överför filer från en Linux -server till ett annat steg 3
Överför filer från en Linux -server till ett annat steg 3

Steg 3. Vad händer om du har en stor "röra" med filer och kataloger att kopiera?

Du kan använda kommandot "tar" för att skapa en enda fil och sedan kopiera filen som ovan och sedan använda tjära för att expandera den på den andra servern … Men det verkar så … Un-unix-liknande. Det måste finnas ett sätt att göra det i ett enda steg, eller hur? Naturligtvis! Ange ditt favoritskal rör. Vi kan fortfarande använda tjära för att packa upp de filer vi vill ha och sedan använda ssh för att få det till det andra systemet (vilket är vad scp har använt under täcket) och tjära på andra sidan för att expandera filerna tillbaka. Men varför slösa tid och utrymme på att skapa en verklig tjärfil, när vi bara kunde skapa ett rör som spänner över de två systemen och överför tjärdata genom det? Använd samma katalog som i föregående exempel, prova "tar -cf - mydir/ * | ssh fältmus@madhat 'tar -xf -'"

Tips

  • Naturligtvis finns det andra sätt att göra detta också. Linux är fullt av verktyg. Din körsträcka kan variera
  • Du bör ersätta användarnamn/värdnamn/filnamn/katalognamn enligt din nätverkskonfiguration och miljö medan du använder kommandona ovan. Kommandon som visas ovan är bara exempel på att köra kommandon för att kopiera filer på servern.

Rekommenderad: