X
wikiHow è una "wiki"; questo significa che molti dei nostri articoli sono il risultato della collaborazione di più autori. Per creare questo articolo, autori volontari hanno collaborato apportando nel tempo delle modifiche per migliorarlo.
Questo articolo è stato visualizzato 9 859 volte
In un ambiente con più server Linux, spesso dovrai spostare dei file da un server a un altro. Secondo il numero di file che devi spostare, esistono diversi comandi in grado di aiutarti... In questa guida presumeremo che i nostri server si chiamino alice e cappellaio, e il nostro utente su alice sia coniglio, e su cappellaio topolino.
Passaggi
-
1Per un singolo file, prova il comando "scp". Puoi usarlo come comando di "push" o "pull", ma iniziamo a spingere il file sull'altro server. Su Alice, usa il comando "scp miofile topolino@cappellaio:quelfile". Questo comando copierà il file sull'altro sistema, con l'userid topolino, e il nome "quelfile". Se hai effettuato l'accesso all'altro sistema, potresti altrettanto semplicemente "tirare" il file con il comando "scp coniglio@alice:miofile quelfile", e ottenere lo stesso risultato.
-
2Per copiare un'intera cartella, possiamo usare nuovamente il comando "scp". Questa volta aggiungeremo lo switch -r, per rendere l'azione di copia ricorsiva. "scp -r miacartella topolino@cappellaio:." copierà l'intera cartella "miacartella" sull'altro sistema, inclusi tutti i suoi contenuti e le sottocartelle. La cartella su cappellaio avrà sempre il nome miacartella.
-
3Se invece volessi copiare molti file "disordinati" e delle cartelle? Potresti usare il comando "tar" per creare un solo file, e poi copiarlo con il metodo precedente, poi usare nuovamente tar per espanderlo sull'altro server. Ma questo non è un metodo in stile Unix. Deve esserci un modo per farlo in un solo passaggio vero? Ed è così! Apri la tua shell preferita. Possiamo comunque usare tar per compattare i file che vogliamo spostare, e poi usare ssh per trasferirli sull'altro sistema (il metodo usato da scp), e tar sul secondo server per espanderli. Perché però sprecare tempo e spazio per creare un vero file tar, quando potremmo semplicemente creare un pipe tra i due sistemi dove trasferire i dati tar? Usando la stessa cartella dell'esempio precedente, prova "tar -cf - miacartella/* | ssh topolino@cappellaio 'tar -xf -'"Pubblicità
Consigli
- Dovresti sostituire i nomi utenti, i nomi degli host, i nomi dei file, i nomi delle cartelle secondo la tua configurazione di rete quando userai i comandi precedenti. I comandi mostrati in precedenza sono solo esempi di comandi utili per copiare file tra server.
- Naturalmente ci sono molti altri metodi per ottenere lo stesso risultato. Linux offre moltissimi strumenti. .
Pubblicità
Avvertenze
- Assicurati che l'UID e il GID dei sistemi che stai usando siano corretti. Se non fosse così, potrebbero insorgere problemi di sicurezza.
Pubblicità
Informazioni su questo wikiHow
Pubblicità