Hvordan overføre filer fra en Linux -server til en annen

Forfatter: Carl Weaver
Opprettelsesdato: 23 Februar 2021
Oppdater Dato: 1 Juli 2024
Anonim
CS50 2015 - Week 1, continued
Video: CS50 2015 - Week 1, continued

Innhold

I et Linux-multiservermiljø innebærer mange oppgaver å flytte en eller flere filer fra en server til en annen. Avhengig av antall filer du må 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

  1. 1 For en enkel fil, prøv kommandoen "scp". Du kan bruke dette som en "push" eller "pull" kommando, men la oss starte med å skyve filen til en annen server. Mens du er på alice, bruk kommandoen "scp myfile fieldmouse @ madhat: thatfile". Dette vil kopiere filen til det andre systemet under bruker -IDen "thatfile". Hvis du var logget på et annet system, kan du like gjerne trekke filen med kommandoen "scp rabbit @ alice: myfile thatfile" og få det samme resultatet.
  2. 2 For å kopiere hele katalogen kan vi bruke "scp" -kommandoen igjen. Denne gangen legger vi til -r -bryteren for å tvinge kopien til å handle "rekursivt". "scp -r mydir fieldmouse @ madhat:." - vil kopiere hele "mydir" -katalogen til et annet system, inkludert alt innholdet og flere kataloger. Katalogen på madhat vil fortsatt bli kalt mydir.
  3. 3 Hva om du har et stort rot med filer og kataloger å kopiere? Du kan bruke "tar" -kommandoen til å lage en fil, deretter kopiere den filen som ovenfor, og deretter bruke tjære til å distribuere den til en annen server ... Men det ser ut som ... ikke Unix-lignende. Det må være en måte å gjøre det på ett trinn, ikke sant? Selvfølgelig!

    E Skriv inn røret til ditt favorittskall. Vi kan fortsatt bruke tjære til å pakke filene vi ønsker, og deretter bruke SSH til å få dem på et annet system (som er det SCP bruker under skall), og tjære derimot for å distribuere filene tilbake. Men hvorfor kaste bort tid og plass til å lage selve tjærefilen, når vi ganske enkelt kunne lage et rør som spenner over de to systemene og sender tjæredata gjennom det?

    Bruk den samme katalogen som i forrige eksempel, og prøv "tar -cf - mydir / * | ssh fieldmouse @ madhat" tar -xf - "

Tips

  • Selvfølgelig er det andre måter å gjøre dette også. Linux er fullt av verktøy.Din vurdering kan endres.
  • Du bør endre brukernavn / vertsnavn / filkatalognavn avhengig av nettverkskonfigurasjonen og miljøet mens du bruker kommandoene ovenfor. Kommandoene ovenfor er bare eksempler på hvordan du utfører kommandoer for å kopiere filer til serveren.

Advarsler

  • Sørg for at ID -ene og GID -ene på de forskjellige systemene du bruker er de samme (ikke bare brukernavn). Hvis dette ikke er tilfelle, vil interessante sikkerhetsproblemer oppstå.