Archivo comprimido en volúmenes

El problema es el siguiente: tengo que hacer un backup de un disco duro en varios cds de 700Mb. Puedo crear una imagen del disco duro y comprimirla y me termina ocupando unos 5 Gb lo cual no puedo meter en un Cd.

¿Hay alguna forma de partir el archivo en trozos?
y lo que sería mejor
¿Hay alguna forma de comprimirlo en varios volúmenes directamente para no necesitar tanto espacio en HD como si lo hiciera en dos partes?
Puedes partirlo con el comando split y pegar con "cat archivo1 archivo2 archivo 3 > archivogrande". Eso, o si eres un poco más vago puedes usar el RAR. :P

Saludos.
Escrito originalmente por SickBoy
El problema es el siguiente: tengo que hacer un backup de un disco duro en varios cds de 700Mb. Puedo crear una imagen del disco duro y comprimirla y me termina ocupando unos 5 Gb lo cual no puedo meter en un Cd.

¿Hay alguna forma de partir el archivo en trozos?
y lo que sería mejor
¿Hay alguna forma de comprimirlo en varios volúmenes directamente para no necesitar tanto espacio en HD como si lo hiciera en dos partes?


Yo en tu caso usaría lo siguiente lo siguiente:

tar para empaquetar.
bzip2 para comprimir.
split para trocear.

Por ejemplo, si quisiese comprimir una partición que monto en el subdirecto /mnt/backup y obtener trocitos de 700 Mb haría así:

$ ( cd /mnt/backup ; tar cvf - . ) | ( cd /aquí_dejo_los_trocitos ; bzip2 | split -b734003200 - backup. )


Ese número de 734.003.200 son 700 Mb en bytes. Ten en cuenta los puntos y las rayas que he puesto: no son gratuitas. Haciendo esto deberías obtener:

backup.aa
backup.ab
backup.ac
etc...

Supongo que también valdría usar la opción "j" de tar que simplifica un poco la cosa:

$ tar jcvf - /mnt/backup | split  -b734003200 - backup.


O quizás tú estás pensando en hacer la copia a bajo nivel con "dd". En ese caso es la misma idea: la salida de dd se la pasas con una tubería a bzip2 y la de bzip2 con otra a split. Vamos que con un par de estas acabamos tú y yo de fontaneros expertos... ;-)

Por cierto, haz una prueba de lo que te he dicho antes de probar con los cinco gigas... yo no la he hecho.

Añado un par de cosas que se me pasaron por alto:

La opción -b admite modificadores para indicar la unidad de medida. Así que queda más elegante "-b700m" en vez de "-b734003200".

No te he dicho cómo volver a unirlos:

(cat backup.*  | bzip2 -d ) | ( cd /aquí_lo_descomprimo | tar xvfp -)
Ya bueno, eso ya lo había pensado. Lo que andaba buscando se acerca más a la segunda opción.

Haciendo eso tengo que tener espacio para el tar + espacio para los trozos. Quería saltarme un paso ya que no se si tendré suficiente... ;)
Escrito originalmente por SickBoy
Ya bueno, eso ya lo había pensado. Lo que andaba buscando se acerca más a la segunda opción.

Haciendo eso tengo que tener espacio para el tar + espacio para los trozos. Quería saltarme un paso ya que no se si tendré suficiente... ;)


No entiendo, ¿el segundo método es usar rar? Con la tubería que te he sugerido puedes usar split y te evitas obtener ese fichero intermedio que no quieres.
¡Ostia! ¡Que buena! No me habia dado cuenta. Gran leccion de uso de la linea de comandos. Gracias ;)
5 respuestas