Come mettere in pausa / riprendere il trasferimento di file di grandi dimensioni?


23

Di recente ho dovuto copiare circa 20 GB di dati suddivisi tra circa 20 file dal mio laptop su un disco rigido esterno. Poiché questa operazione richiede un po 'di tempo (a ~ 560kb / s), mi chiedevo se ci fosse un modo per mettere in pausa il trasferimento e riprenderlo in seguito (nel caso, ho bisogno di interrompere il trasferimento). Come domanda secondaria, c'è qualche differenza di prestazioni tra la copia dal terminale e la copia da Nautilus?

Risposte:


21

Consiglierei di usare rsync .

Esempio:

rsync -a --append source-file destination

Se vuoi vedere l'avanzamento, aggiungi l' --progressopzione al comando.

testo alternativo


4
L' opzione -append sembra essere la chiave di volta per "Riprendi" ... ma esiste un modo elegante per "mettere in pausa" rsync , oltre a Ctrl + C? ... e può rsync riprendere accuratamente, dopo qualcosa di drammatico ... ad es. un power-out?
Peter

Se proviene da Google nel 2016, un modo sarebbe quello di avviare il comando rsync come processo da Python o simile e monitorare il processo durante la lettura del suo output. Quindi è possibile attivare un segnale SIG / contro il processo. Un file sh dovrebbe essere in grado di fare questo, penso
Angry 84

3

risposta breve, non necessita di installazione, per mettere in pausa l'uso kill -STOP PID
per continuare l'uso del processo in pausa kill -CONT PID
dove PID è Process ID. è possibile ottenere il PID eseguendo il monitor o il topcomando di sistema


2

Posso rispondere solo alla parte relativa alla differenza tra terminale e nautilo. Ho controllato più volte questo. Sembra che la copia dal terminale sia più veloce di qualsiasi modo grafico come nautilus. Almeno nel mio caso, quando copio circa 32 GB di informazioni, ci vogliono circa 3-5 minuti in meno dal terminale rispetto a nautilus da una copia di 25 minuti. cioè circa il 10% -20% delle volte. A proposito di un modo per riprendere una copia sull'unità esterna penso curlo rsyncriprenderei una copia non riuscita. Almeno con il comando cp. Non ho provato questo da solo (proverò domani) ma questi due potrebbero funzionare.

Per l'arricciatura è necessario aptitude install curlo apt-get instal curlpoiché non viene fornito con Ubuntu per impostazione predefinita.

Usa curl --helpo rsync --helpper saperne di più. Domani mostrerò come copiare con entrambi se non riuscissi a trovare la strada.

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.