¿Cómo pausar / reanudar la transferencia de archivos grandes?

23

Recientemente tuve que copiar unos 20 GB de datos divididos entre unos 20 archivos de mi computadora portátil a un disco duro externo. Dado que esta operación lleva bastante tiempo (a ~ 560kb / s), me preguntaba si había alguna forma de pausar la transferencia y reanudarla más tarde (en caso de que necesite interrumpir la transferencia). Como pregunta adicional, ¿hay alguna diferencia de rendimiento entre copiar desde el terminal y copiar desde Nautilus?

Olivier Lalonde
fuente

Respuestas:

21

Recomendaría usar rsync .

Ejemplo:

rsync -a --append source-file destination

Si desea ver el progreso, agregue la --progressopción al comando.

texto alternativo

Isaias
fuente
44
La opción -append parece ser el pin de linchamiento para "Reanudar" ... pero ¿hay alguna manera elegante de "Pausar" rsync , aparte de Ctrl + C? ... y puede rsync reanudar con precisión, después de algo dramático .. por ejemplo. un apagado?
Peter.O
Si viene de google en 2016, una forma sería iniciar el comando rsync como un proceso desde python o similar y monitorear el proceso mientras lee su salida. Entonces puede activar un SIG / señal contra el proceso. Un archivo sh debería poder hacer esto, creo
Angry 84
3

respuesta corta, no necesita instalación, para pausar el uso kill -STOP PID
para continuar el uso del proceso pausado kill -CONT PID
donde PID es la ID del proceso. puede obtener PID ejecutando el monitor del sistema o el topcomando

Edward Torvalds
fuente
2

Solo puedo responder la parte sobre la diferencia entre terminal y nautilus. He comprobado varias veces esto. Parece que copiar desde el terminal es más rápido que cualquier forma gráfica como nautilus. Al menos en mi caso, cuando copio aproximadamente 32 GB de información, el terminal tarda entre 3 y 5 minutos menos que el nautilus en una copia de 25 minutos. eso es alrededor del 10% -20% del tiempo. Sobre una forma de reanudar una copia en su unidad externa, creo curlo rsyncreanudaría una copia fallida. Al menos con el comando cp. No lo he intentado yo mismo (lo intentaré mañana) pero estos dos podrían funcionar.

Para curl necesitas hacerlo aptitude install curlo apt-get instal curlya que no viene con ubuntu por defecto.

Use curl --helpo rsync --helppara obtener más información. Mañana mostraré cómo copiar con ambos si no puede encontrar el camino.

Luis Alvarado
fuente