Trasferisci un file tar da 30 GB da un server remoto a un altro, limitato dallo spazio su disco


8

Ho un file tar "Moodle" da 38 GB che devo trasferire dal vecchio server (hosting condiviso), che possiamo chiamare "Server A" al nuovo server (Dedicato virtuale) o "Server B". Sono con Mediatemple se questo aiuta.

Ho già tarballato la directory e ho usato wget per trasferirlo sul server B tramite SSH, tuttavia - è un pacchettino pacchetto da 100 GB e ho una capacità del disco del 96% - il che significa che non posso decomprimere il file sul server B! Esiste un modo per trasferire questo enorme file dal server A al server B, preservando le autorizzazioni e con la minima possibilità di corruzione del file, che non mi farà superare il limite del disco?

Anche se finora ho trascorso un bel po 'di tempo, sarei disposto ad abbandonare il mio piano originale se qualcuno potesse offrire un'idea migliore - e sarei molto grato!

Risposte:


21

Non tar. Utilizzare rsync -avper conservare le autorizzazioni durante il trasferimento dei file. Sebbene come tar, questo non preserva il contesto selinux. Non che lo considererei importante però.


1
Ciao Dennis, grazie per la risposta. Suppongo che non potresti approfondire un po 'su come usare il comando rsync? O fornire un articolo utile? Grazie ancora
alexbass il

1
Un articolo utile sarebbe la manpage rsync :) Ma in poche parole: se hai accesso ssh da serverb a servera, eseguilo su serverb:rsync -av servera:/path/to/files/to/copy/ /path/to/copy/to
Dennis Kaarsemaker,

1
Se non sei sicuro di come utilizzare i comandi fondamentali sul sistema operativo che stai utilizzando, inizia con la funzione di aiuto. Su macchine Unix, è spesso qualcosa del genere man rsyncorsync --help
mfinni il

1
-aimplica -r(e molte altre bandiere che la gente ha dimenticato di dimenticare fino a quando non sono -astate aggiunte "queste sono le bandiere utili per fare i backup")
Dennis Kaarsemaker,

1
Se la sicurezza non è un problema (intendo che ti fidi della rete tra le due macchine) nc è anche un'opzione. Sul server: tar -zc source | nc -l 1313 Sul client: nc SERVER_IP 1313 | tar -zx
Tsvetomir Dimitrov il

12

Probabilmente vuoi acquistare più spazio su disco, ma supponendo di no, potresti ...

pipe il tarball in giro piuttosto che scaricarlo.

newserver#  ssh olduser@oldserver "cat /path/to/tarball" | tar xf -

o se non si dispone dell'accesso SSH al vecchio server

newserver# wget -O - http://oldserver/path/to/tarball | tar xf -

o usa rsync come ha detto Dennis .

Essere creativo. Ci sono altre soluzioni che non sto menzionando.


Potrebbe essere necessario utilizzare l' --numeric-owneropzione prima di creare tarball per assicurarsi che il proprietario e i gruppi non cambino. ssh ouser@oserver tar -zcplC /src_path --numeric-owner . | tar -zxpC /dst_path
F. Hauri,

@ F.Hauri --numeric-ownerpuò avere conseguenze (potenzialmente gravi) involontarie se lo schema UID / GID differisce tra le due macchine. Questo di solito non è un problema nell'ambiente interno, ma passare da "hosting condiviso" a "virtuale dedicato" può causare problemi. Si deve aspettare di avere alla proprietà correzione sul nuovo server se si utilizza tar, cpioe forse anche rsync.
voretaq7,

Sì, hai ragione, ma non conoscere questo tipo di opzione potrebbe avere anche (lo stesso) effetto bordo. Meglio di tutto: sai cosa stai facendo e ... rtfm ;-)
F. Hauri,

... qualche modo interessante (filtri) per utilizzare (o non) per essere creativi : nco openssl, sed, gpg, uuencodee mail(con cura;), enscript+ lpr+ [vettori aviaria] ( fr.wikipedia.org/wiki/IP_over_Avian_Carriers ) + scan+ ocr. .. Ma ce ne sono ancora di più ...
F. Hauri,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.