Come trasferire file da un server Linux a un altro: 3 passaggi

Sommario:

Come trasferire file da un server Linux a un altro: 3 passaggi
Come trasferire file da un server Linux a un altro: 3 passaggi

Video: Come trasferire file da un server Linux a un altro: 3 passaggi

Video: Come trasferire file da un server Linux a un altro: 3 passaggi
Video: COME SALVARE DEI FILE SU MEMORIA FLASH SPIFFS CON ESP8266 IDE ARDUINO 2024, Aprile
Anonim

In un ambiente Linux multi-server, molte attività comportano lo spostamento di uno o più file da un server all'altro. A seconda del numero di file che devi spostare, ci sono diversi comandi che potrebbero aiutarti…

Assumiamo per queste discussioni che i nostri server siano Alice e Madhat e che il nostro utente su Alice sia coniglio e che il nostro utente su madhat sia Fieldmouse.

Passi

Trasferire file da un server Linux a un altro Passaggio 1
Trasferire file da un server Linux a un altro Passaggio 1

Passaggio 1. Per un singolo file, prova il comando "scp"

Puoi usarlo come comando "push" o "pull", ma iniziamo con il push del file sull'altro server. Mentre sei su alice, usa il comando "scp myfile fieldmouse@madhat:thatfile". Questo copierà il file sull'altro sistema, nell'ID utente del mouse da campo, con il nome "thatfile". Se hai effettuato l'accesso all'altro sistema, potresti facilmente estrarre il file con il comando "scp rabbit@alice:myfile thatfile" e ottenere gli stessi risultati.

Trasferire file da un server Linux a un altro Passaggio 2
Trasferire file da un server Linux a un altro Passaggio 2

Passaggio 2. Per copiare un'intera directory, possiamo nuovamente utilizzare il comando "scp"

Questa volta aggiungeremo l'opzione -r, per far sì che la copia agisca "in modo ricorsivo". "scp -r mydir fieldmouse@madhat:." copierà l'intera directory "mydir" sull'altro sistema, inclusi tutti i suoi contenuti e le directory aggiuntive. La directory su madhat sarà ancora chiamata mydir.

Trasferisci file da un server Linux a un altro Passaggio 3
Trasferisci file da un server Linux a un altro Passaggio 3

Passaggio 3. Cosa succede se si dispone di un grande "pasticcio" di file e directory da copiare?

Potresti usare il comando "tar" per creare un singolo file, quindi copiare quel file come sopra, quindi usare tar per espanderlo sull'altro server … Ma sembrerebbe così … Unix-like. Ci deve essere un modo per farlo in un unico passaggio, giusto? Beh, certo! Inserisci le pipe del tuo guscio preferito. Possiamo ancora usare tar per impacchettare i file che vogliamo, e poi usare ssh per portarlo sull'altro sistema (che è quello che scp ha usato sotto le coperte), e tar dall'altra parte per espandere i file di nuovo. Ma perché sprecare tempo e spazio creando un vero file tar, quando potremmo semplicemente creare una pipe che attraversi i due sistemi e trasferire i dati tar attraverso di essa? Usando la stessa directory dell'esempio precedente, prova "tar -cf - mydir/ * | ssh fieldmouse@madhat 'tar -xf -'"

Suggerimenti

  • Ovviamente ci sono anche altri modi per farlo. Linux è pieno di strumenti. Il tuo chilometraggio può variare
  • È necessario sostituire nome utente/nome host/nome file/nome directory in base alla configurazione di rete e all'ambiente durante l'utilizzo dei comandi precedenti. I comandi mostrati sopra sono solo esempi di esecuzione di comandi per copiare file sul server.

Consigliato: