• Publicidad

Comprimir directorios

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Comprimir directorios

Notapor haganex » 2012-11-07 21:33 @939

Chicos, necesito saber si me pueden ayudar con lo siguiente:

Necesito hacer un respaldo de un directorio, que por defecto es /root/Desktop, o puede llegar por parámetro. El directorio tengo que comprimirlo en un archivo zip, y si es mayor de 10 Mb el archivo tengo que dividirlo y el respaldo debe quedar guardado en el directorio ~/respaldos

¡ Gracias !
haganex
Perlero nuevo
Perlero nuevo
 
Mensajes: 12
Registrado: 2012-08-25 08:15 @385

Publicidad

Re: Comprimir directorios

Notapor explorer » 2012-11-08 06:51 @327

Pero, ¿con 10 Mb te refieres a los datos ya comprimidos o a los datos sin comprimir?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Comprimir directorios

Notapor haganex » 2012-11-08 07:06 @338

Los 10 Mb significa que si el directorio comprimido es más grande que 10 Mb tengo que dividirlo en partes de 10 Mb.
haganex
Perlero nuevo
Perlero nuevo
 
Mensajes: 12
Registrado: 2012-08-25 08:15 @385

Re: Comprimir directorios

Notapor explorer » 2012-11-08 12:53 @578

Bueno, se puede hacer de la siguiente manera...
  • Iniciamos un archivo zip, en vacío
  • Hacemos un bucle recorriendo recursivamente todo el contenido del directorio a comprimir
  • Por cada contenido (archivo), lo comprimimos en el zip actual
  • Si el resultado supera los 10 Mb, entonces sacamos el archivo del zip (lo borramos), cerramos el zip y abrimos uno nuevo, donde el primer contenido es el archivo que habíamos descartado
  • Repetir para todos los demás
Todo esto se puede hacer con Perl, con el módulo Archive::Zip, en un pequeño programa, o...

Quizás más cómodo, usar el comando zip del sistema:

cd ~/respaldos
zip -s 10m -r archivo.zip /root/Desktop


Más información en la página de manual de zip.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 34 invitados