Come trasferire file da un server Linux a un altro

Autore: Carl Weaver
Data Della Creazione: 23 Febbraio 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
Trasferire File in Remoto Utilizzando SSH
Video: Trasferire File in Remoto Utilizzando SSH

Contenuto

In un ambiente multiserver Linux, 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 possono aiutarti.... Assumiamo per queste discussioni che i nostri server siano alice e madhat, e che il nostro utente su alice sia coniglio e il nostro utente su madhat sia fieldmouse.

Passi

  1. 1 Per un file semplice, prova il comando "scp". Puoi usarlo come comando "push" o "pull", ma iniziamo spingendo il file su un altro server. Mentre sei su alice usa il comando "scp myfile fieldmouse @ madhat: thatfile". Questo copierà il file nell'altro sistema con l'id utente "thatfile". Se hai effettuato l'accesso a un sistema diverso, puoi altrettanto facilmente estrarre il file con il comando "scp rabbit @ alice: myfile thatfile" e ottenere lo stesso risultato.
  2. 2 Per copiare l'intera directory, possiamo usare di nuovo il comando "scp". Questa volta aggiungeremo l'opzione -r per forzare la copia ad agire "ricorsivamente". "scp -r mydir fieldmouse @ madhat :." - copierà l'intera directory "mydir" su un altro sistema, inclusi tutti i suoi contenuti e le directory aggiuntive. La directory su madhat sarà ancora chiamata mydir.
  3. 3 Cosa succede se hai un gran casino di file e directory da copiare? Puoi usare il comando "tar" per creare un file, quindi copiare quel file come sopra, e quindi usare tar per distribuirlo su un altro server ... Ma sembra ... non simile a Unix. Ci deve essere un modo per farlo in un solo passaggio, giusto? Beh, certo!

    E Inserisci la pipa del tuo guscio preferito. Possiamo ancora usare tar per impacchettare i file che vogliamo e poi usare SSH per portarli su un altro sistema (che è quello che SCP usa sotto le shell), e tar d'altra parte per ridistribuire i file. Ma perché sprecare tempo e spazio per creare il file tar stesso, quando potremmo semplicemente creare una pipe che attraversi i due sistemi e passi i dati tar attraverso di essa?

    Usando la stessa directory dell'esempio precedente, prova "tar -cf - mydir / * | ssh fieldmouse @ madhat" tar -xf - "

Consigli

  • Naturalmente, ci sono anche altri modi per farlo. Linux è pieno di strumenti.La tua valutazione è soggetta a modifiche.
  • Dovresti cambiare nome utente / nome host / nome della directory dei file a seconda della configurazione di rete e dell'ambiente mentre usi i comandi sopra. I comandi sopra sono solo esempi di come eseguire comandi per copiare file sul server.

Avvertenze

  • Assicurati che gli ID e i relativi GID sui diversi sistemi che utilizzi siano gli stessi (non solo i nomi utente). In caso contrario, si verificheranno interessanti problemi di sicurezza.