I et Linux-miljø med flere servere innebærer mange oppgaver å flytte en eller flere filer fra en server til en annen. Avhengig av antall filer du trenger å flytte, er det flere kommandoer som kan hjelpe deg ….
La oss anta for disse diskusjonene at serverne våre er Alice og Madhat, og at brukeren vår på Alice er kanin, og vår bruker på madhat er Fieldmouse.
Trinn
Trinn 1. Prøv kommandoen "scp" for en enkelt fil
Du kan bruke dette som en "push" eller "pull" kommando, men la oss begynne med å skyve filen til den andre serveren. Mens du er på alice, bruker du kommandoen "scp myfile fieldmouse@madhat: thatfile". Dette vil kopiere filen over til det andre systemet, til feltmusens bruker -ID, med navnet "den filen". Hvis du var logget på det andre systemet, kan du like gjerne trekke filen med kommandoen "scp rabbit@alice: myfile thatfile", og få de samme resultatene.
Trinn 2. For å kopiere en hel katalog, kan vi igjen gå til kommandoen "scp"
Denne gangen legger vi til -r -bryteren for å få kopien til å handle "rekursivt". "scp -r mydir fieldmouse@madhat:." vil kopiere hele katalogen "mydir" over til det andre systemet, inkludert alt innholdet og flere kataloger. Katalogen på madhat vil fortsatt bli kalt mydir.
Trinn 3. Hva om du har et stort "rot" av filer og kataloger å kopiere?
Du kan bruke "tar" -kommandoen til å lage en enkelt fil, og deretter kopiere den filen som ovenfor, og deretter bruke tjære til å utvide den på den andre serveren … Men det virker så … Un-unix-lignende. Det må være en måte å gjøre det på et enkelt trinn, ikke sant? Selvfølgelig! Angi rørene til favorittskallet ditt. Vi kan fortsatt bruke tjære til å pakke opp filene vi ønsker, og deretter bruke ssh for å få det til det andre systemet (som er det scp har brukt under dekslene), og tjære på den andre siden for å utvide filene tilbake. Men hvorfor kaste bort tid og plass til å lage en faktisk tjærefil, når vi bare kunne lage et rør som spenner over de to systemene og overføre tjæredataene gjennom det? Bruk den samme katalogen som i forrige eksempel, prøv "tar -cf - mydir/ * | ssh feltmus@madhat 'tar -xf -'"
Tips
- Selvfølgelig er det andre måter å gjøre dette også. Linux er fullt av verktøy. Kjørelengden din kan variere
- Du bør erstatte brukernavn/vertsnavn/filnavn/katalognavn i henhold til nettverkskonfigurasjonen og miljøet mens du bruker kommandoene ovenfor. Kommandoer vist ovenfor er bare eksempler på utførelse av kommandoer for kopiering av filer på serveren.