Come trasferire elevati quantitativi di files in rete alla massima velocità

SPONSORED LINKS

fast file transfer
Vi è mai capitato di dover trasferire delle directory contenenti elevati quantitativi di files da un server Linux ad un altro all’interno della medesima rete? In caso affermativo avrete sicuramente notato come, anche se il trasferimento avveniva in LAN, comunque la durata dell’operazione aumentava esponenzialmente con l’aumentare dei files da trasferire. Si tratta di un normale fenomeno di overhead dovuto al fatto che ogni singolo trasferimento di file avviene su un differente stream di dati, ed il numero di stream gestibili in contemporanea da un server è di solito piuttosto limitato.

Spesso si cerca di ovviare al problema creando prima un unico archivio tar contenente i files da trasferire e quindi procedendo con un unico trasferimento. In questro caso si risolve egregiamente il problema di overhead di rete ma la cosa potrebbe diventare comunque problematica nel caso in cui ad esempio lo spazio su disco fosse limitato al punto da non poter consentire la creazione del tar temporaneo.

Se però il comando tar viene utilizzato in maniera intelligente assieme all’utility netcat, abbiamo la possibilità di effettuare comunque un traferimento super-veloce su un unico stream di dati senza la necessità di dover creare degli archivi temporanei. Ecco come procedere:

  1. Nel server di destinazione (quello verso cui trasferire i nostri files), lanciare il comando:
    nc -l -p 2342 | tar -C /target/dir -xzf –
  2. Nel server di partenza (quello su cui si trovano i files da trasferire, lanciare il comando:
    tar -cz /source/dir | nc ip_server_di_destinazione 2342

Queste due operazioni, effettuate in sequenza, fanno si che i files contenuti nella directory “/source/dir” del server di partenza, vengano compressi in un tar che verrà inviato al volo (grazie alla pipe gestita con netcat) verso la porta 2342 del server di destinazione. Quest’ultimo da parte sua è configurato per stare in ascolto sulla porta 2342 e per redirezionare il flusso di dati ricevuto in ingresso direttamente al comando tar lanciato in modo da effettuare una decompressione nella directory “/target/dir”

SPONSORED LINKS
Ti è piaciuto l'articolo?
Iscriviti alla newsletter per ricevere in tempo reale tutte le notizie e gli aggiornamenti!

Articoli correlati a "Come trasferire elevati quantitativi di files in rete alla massima velocità"


Lascia un commento