Estoy tratando de copiar el contenido de una unidad de memoria USB que falla. Si leo los datos demasiado rápido, el chip del controlador de la unidad se sobrecalienta y la unidad desaparece del sistema. Cuando eso sucede, necesito desconectar la unidad, esperar un minuto más o menos para que se enfríe, volver a enchufarla y reiniciar la copia.
Tengo una copia de seguridad antigua del contenido de la unidad, por lo que la forma obvia de obtener el resto de los datos es usarla rsync
para actualizar la copia de seguridad, pero esto se ejecuta en el conjunto "leer demasiado rápido, la unidad desaparece , y necesito comenzar de nuevo "problema. ¿Hay alguna manera de decir rsync
que solo lea X megabytes de datos por minuto? Alternativamente, ¿es posible decirle que suspenda las operaciones cuando la unidad desaparezca y que se reanude cuando se vuelva a enchufar?
Respuestas:
A diferencia de la experiencia de DopeGhoti, el
--bwlimit
indicador limita la transferencia de datos, con mi rsync (v3.1.2).prueba:
(nota: mi
time
salida se ve diferente a la mayoría de lastime
invocaciones (zsh
función), esas veces no fueron editadas por mí)De lo contrario, tal vez algo en la línea de un doble
-exec
adentrofind
. Yo creo quersync -R
deben crear y copiar las carpetas principales, pero si no es así, entoncescp --parents
debería.Nota : también echa un vistazo a ddrescue , podría ser justo lo que estás buscando :)
fuente
--bwlimit=KBPS limit I/O bandwidth; KBytes per second
no se menciona la red. Navegando casualmente el código, esto limita la velocidad de lectura , independientemente del destino. Además, anécdota: he estado usando esta opción durante años para limitar la velocidad de escritura de local a local. linux.die.net/man/1/rsyncio.c
, líneas 832-3:if (bwlimit_writemax) sleep_for_bwlimit(n);
En cualquier caso, esto probablemente funcionaría según lo previsto, leyendo en ráfagas cortas y durmiendo en el medio. Recomendaría comenzar con un valor bajo y aumentar cuidadosamente, o simplemente dejar que la transferencia lenta se ejecute durante la noche.Un poco como una solución MacGyver, pero he tenido un buen éxito en el pasado:
coloque un viejo concentrador USB 1 entre el dispositivo y la computadora. De ninguna manera se va a copiar rápido de esa manera :-)
Otra posibilidad: si tiene otro dispositivo disponible, colóquelo en otro puerto USB conectado al mismo concentrador raíz (para que comparta el ancho de banda con su dispositivo problemático).
Ahora comience una operación de escritura grande en el dispositivo adicional para que ambos dispositivos compitan por el ancho de banda. Para un mayor control, puede usar ionice para reducir aún más la prioridad en el problema.
fuente
Puede usar
rsync --bwlimit=RATE
para acelerar la velocidad de transferencia de archivos que, según los comentarios a continuación, parece funcionar específicamente al acelerar la velocidad de lectura de los datos, que es precisamente lo que está buscando.fuente
ionice
? linux.die.net/man/1/ionice--bwlimit
establece el límite de E / S, no necesariamente un límite de red . Probado muchas veces en varios escenarios: esta opción hace que rsync se limite a sí mismo en la lectura , independientemente del destino. (Descubrí esto en un escenario similar, donde las escrituras rápidas en un dispositivo local lento los hicieron fallar)Más soluciones, además de
rsync --bwlimit=100
, para 100KiB / s.Úselo
ddrescue
con la--max-read-rate
opción para una copia completa del disco. Esto también le permitirá reiniciar una copia de disco completa donde la dejó después de un error.ddrescue
también tiene muchas otras opciones relevantes para la recuperación de datos, consulte el manual aquí .Use
pv
("visor de tuberías") con la--rate-limit
opción, o lathrottle
herramienta para calificar las tuberías de límite.pv
También puede mostrar progreso. Puede hacer que esto funcione para cualquier herramienta que use una tubería o pueda usar una tubería:o
Eche un vistazo a la página de manual de pv para obtener más configuraciones y ejemplos. Para
throttle
, es posible que también desee probar la-w
opción, que determina cómo se calcula la velocidad, consulte la página de manual del acelerador .fuente
pv
La página de manual tiene aún más ejemplos de varios usos.pv
buscado una y otra vez desde que lo descubrí en mis días de bromistas. Cuando el tar escribía en las unidades de cinta. :)