Ya vimos en el artículo anterior cómo se pueden automatizar las copias de seguridad. Se hizo con un método antiguo y nada bonito, pero efectivo, que consistía en aprovechar el sistema operativo DOS todavía incluido en las versiones de Microsoft Windows.
Pues bien, en este artículo vamos a dar un paso más porque vamos a comprimir las copias de seguridad que vas a ir creando. Lo haremos también desde DOS, modificando un poco el archivo por lotes BAT del artículo anterior.
Por cierto, si algo de lo que te voy contando te suena a chino, antes de seguir puedes leerte antes el artículo anterior sobre copias de seguridad.
El objetivo es tener comprimida cada copia de seguridad y así te cabrán más copias de seguridad en la unidad de almacenamiento donde las guardes.
¿Empezamos?
Herramienta 7-Zip
Antes de entrar en materia, quiero recomendarte la herramienta de compresión 7-Zip. Es gratuita y llevo muchos años usándola sin problemas porque tiene un modo compatible con WinZip, o lo que es lo mismo, con el sistema de compresión que está integrado en Windows.
Para instalar 7-Zip, haz clic en este enlace http://www.7-zip.org y descárgate la versión de 32 o de 64 bits, según sea tu sistema operativo. En estos momentos que estoy escribiendo el artículo, tienes lista la versión 15.14.
Para descargarte 7-Zip, haz clic en este enlace Download:
Elige la carpeta adonde descargarlo (por ejemplo, a tu Escritorio).
Cuando haya terminado la descarga de 7-Zip (solo unos pocos segundos), haz doble clic en el EXE descargado para instalarlo.
Puedes elegir la carpeta de instalación, pero lo más fácil es aceptar la que te ofrece el programa (C:\Program Files\7-Zip).
Tras solo unos segundos de instalación, podrás utilizar esta magnífica herramienta de compresión.
Al instalarla podrás seleccionar carpetas o archivos de tu disco duro y comprimirlos. Al hacer clic con el botón derecho sobre algún archivo o carpeta te saldrá este menú emergente extra de 7-Zip:
Un detalle muy útil de 7-Zip es que permite la ejecución mediante la línea de comandos DOS de la manera que más nos interese. Recuerda que en el anterior artículo vimos cómo crear la copia de seguridad también desde la línea de comandos. Por tanto, 7-Zip nos permite seguir la misma filosofía.
Recordatorio del archivo de comandos
Solo como recordatorio de lo que vimos en el artículo Cómo automatizar las copias de seguridad con Windows (si quieres más detalles, es posible que necesites leer ese artículo):
Vamos a suponer que tienes un sencillo archivo de comandos guardado en tu PC (te lo puedes descargar aquí):
rem Archivo BAT para hacer copias de seguridad de www.gonduana.com Set mes=%DATE:~3,2% Set dia=%DATE:~0,2% Set anio=%DATE:~6,4% rem Carpeta donde copiar todos los archivos: set carpetaFinal=E:\copia de seguridad rem NO TOCAR LA SIGUIENTE LÍNEA: set carpetaFinalConFecha=%carpetaFinal%\%anio%%mes%%dia%\ set carpeta=C:\carpeta 1 rem NO TOCAR LA SIGUIENTE LÍNEA: xcopy "%carpeta%\*.*" "%carpetaFinalConFecha%" /s/y/f set carpeta=C:\carpeta 2 rem NO TOCAR LA SIGUIENTE LÍNEA: xcopy "%carpeta%\*.*" "%carpetaFinalConFecha%" /s/y/f
Bien, pues lo que vamos a hacer ahora es añadir unas pocas líneas más para comprimir los archivos y carpetas de esa copia de seguridad.
Si quieres tener una idea de lo que hemos conseguido, puedes pensar que un ZIP comprime un 50%. Por ejemplo, si comprimes 100 MB de archivos, el ZIP tendrá la mitad. Por supuesto, depende mucho del contenido de la copia de seguridad, pero ahí tienes una cifra aproximada…
Por supuesto, si haces copias de seguridad diarias (que deberías, según vimos en el artículo La importancia de las copias de seguridad) tendrías varios ZIP, cada uno con un nombre de archivo que indica la fecha en formato año/mes/día.
De esta forma, si algún día necesitas buscar algo, podrás encontrar fácilmente el ZIP.
Recuerda, primero creamos la copia de seguridad y después la comprimimos:
Nota: Luego veremos porqué se ha añadido un paso más de borrado.
El primer paso ya lo tenemos, la creación de la copia de seguridad con las líneas de código anteriores.
Para el segundo paso, la compresión de la copia de seguridad, añadiremos esta línea al final del anterior BAT:
"C:\Program Files\7-Zip\7z" a "%carpetaFinal%\%anio%%mes%%dia%.zip" "%carpetaFinalConFecha%*" -w%temp%
Nota: si tu ruta de instalación de 7-Zip es diferente, deberás cambiarla en la línea anterior, ¿de acuerdo?
Cuando se ejecuta esta línea adicional, suponiendo que la fecha actual es el 15 de abril de 2016, tendremos:
Es decir:
- la carpeta de la copia de seguridad con todos los archivos que queremos poner a buen recaudo;
- un archivo ZIP con nuestra copia de seguridad comprimida.
Si me has seguido hasta aquí, verás claro que ya podemos borrar la carpeta sin comprimir, porque ya tenemos toda la información en el ZIP ocupando menos espacio.
Este tercer paso de borrado lo podrías hacer manualmente, pero ¡lo vamos hacer de forma automática! Para ello, emplearemos el comando RMDIR y añadimos una línea más:
rmdir "%carpetaFinalConFecha%" /s/q
Cuando Windows ejecuta esa línea, desaparece la carpeta temporal y solo queda el archivo ZIP:
Que es lo que buscábamos.
Si quieres tener el archivo TXT completo para crear y comprimir las copias de seguridad, descargártelo aquí.
Te recuerdo que el artículo Cómo automatizar las copias de seguridad con Windows te indica paso a paso lo que debes hacer con este TXT y lo que debes personalizar.
Nota técnica sobre RMDIR:
El comando RMDIR tiene dos opciones /s y /q.
La opción /s hace que se borre toda la carpeta, incluyendo las subcarpetas (s de subcarpetas).
Si se emplea la opción /s, que es nuestro caso, la opción /q hace que el sistema operativo Windows nos pida confirmación para borrar todo el contenido. De esta forma, nos evitamos este mensaje de Windows para que el proceso sea totalmente desatendido:
Un último retoque
Con el BAT que te has descargado puedes hacer tus copias de seguridad de una forma totalmente automática. Con lo cual, espero que no te quede ninguna excusa para hacerlas cada día. ¡Solo tienes que hacer doble clic en un archivo BAT, y despreocuparte!
Pero vamos a refinar un poco más el proceso comprimiendo al máximo:
Ya sabes que 7-Zip es compatible con la herramienta de compresión integrada en Windows desde hace bastantes años. Para probarlo y verlo con tus propios ojos, puedes abrir desde Windows un archivo ZIP creado con 7-Zip para ver su contenido tal y como hacías antes de instalar 7-Zip:
Una característica de 7-Zip es que puedes comprimir con el formato 7z, un formato con un mayor índice de compresión, es decir, que el archivo comprimido ocupará menos espacio.
Este formato 7z comprime aproximadamente un 20% más que el formato ZIP. Por supuesto, depende de los archivos, pero te da una idea…
El anterior porcentaje del 20% significa que si comprimes en el formato 7z, podrás almacenar hasta un 20% más de copias de seguridad en tu unidad de almacenamiento.
Una gran compresión, es verdad, pero con la desventaja de que los archivos 7z no los abre el sistema operativo Windows. Por tanto, deberás tener instalada la herramienta 7-Zip para abrir los archivos comprimidos en formato 7z. Para mí no es una desventaja, porque durante muchos años 7-Zip ha demostrado ser una herramienta fiable.
Esta es la interfaz de usuario de 7-Zip cuando abres un archivo comprimido en formato 7z:
Para comprimir en formato 7z, simplemente cambia la línea 21 que habíamos visto:
"C:\Program Files\7-Zip\7z" a "%carpetaFinal%\%anio%%mes%%dia%.zip" "%carpetaFinalConFecha%*" -w%temp%
a esta otra (solo tienes que cambiar la extensión de archivo zip por 7z):
"C:\Program Files\7-Zip\7z" a "%carpetaFinal%\%anio%%mes%%dia%.7z" "%carpetaFinalConFecha%*" -w%temp%
Por si te interesa: mis copias de seguridad están todas en formato 7z.
¿Te parece bien el formato 7z de compresión?
Si quieres tener el archivo TXT completo con el método de compresión 7z, para crear y comprimir las copias de seguridad, además de borrar a carpeta temporal de copias de seguridad, descargártelo aquí.
Mi caso particular
Te voy a contar cómo hago mis copias de seguridad, por si te da alguna idea:
Todas mis copias de seguridad tienen el formato 7z. El motivo ya lo sabes: los archivos comprimidos son más pequeños en MB.
Conclusiones de comprimir las copias de seguridad
Entre este artículo y el anterior hemos visto una forma de hacer tus copias de seguridad de una forma totalmente automatizada.
En este artículo hemos visto cómo comprimir las copias de seguridad.
Como extra, hemos visto cómo conseguir más compresión.
Solo se emplean herramientas incluidas en el sistema operativo Windows y 7-Zip, que es gratuita y de fiabilidad contrastada por mis años de experiencia.
Después de esa serie de artículos sobre las copias de seguridad, no tienes excusa ya para hacer tus copias de seguridad.
🙂
Menos aún cuando en el próximo artículo veamos un último refinamiento para tus copias de seguridad.
* * * * * *
Nada más, solo un par de recomendaciones si te interesan las copias de seguridad:
- Lee los otros artículos de copias de seguridad de este mismo blog. Los tienes todos si filtras por «copias de seguridad» en la nube de etiquetas (columna derecha del blog).
- Suscríbete al boletín del blog, o sígueme en LinkedIn o Twitter (@jssprt). De esta manera, serás el primero en enterarte de la publicación de los artículos.
Hola, sólo quería darte las gracias por el artículo, vengo del mundo de linux y estaba buscando justo esto. En mi caso, lo he simplificado para que haga la compresión directamente y lo suba a un servicio cloud, dejo las líneas por si sirven de ayuda a alguien:
Copia la biblioteca de imágenes de windows:
"C:\Program Files\7-Zip\7z" a "%carpetaFinal%\%anio%%mes%%dia%.zip" C:\Users\windows\Pictures
"C:\Users\windows\Documents\rclone\rclone" copy "%carpetaFinal%\%anio%%mes%%dia%.zip" amazon:/carpeta
Muchas gracias por dar otra muy buena idea, Aitor.
Quería decir 2 cosas:
La primera aclarar que lo que hacen tus dos líneas es:
- crear un ZIP con el contenido de la carpeta que quieres (mediante 7-Zip)
- copiar este ZIP a la carpeta «carpeta» de la nube de Amazon (mediante la herramienta rclone).
¿Es así?
La segunda cosa, es que estaba buscando documentación sobre esa herramienta rclone para Windows, y la verdad es que no la encuentro (o soy muy impaciente). Si sabes algún sitio donde aprender sobre rclone, ¿serías tan amable de ponerlo, aquí?
Gracias, un un saludo.
... Jesús Prieto ...
Pues yo hago un uso muy básico y con los comandos que hay en http://rclone.org/docs/ me bastan.
Para windows, se baja el ejecutable y se trabaja con la línea de comandos igual que haces con el 7z.
Antes hay que hacer un:
rclone config
y seguir las indicaciones para la configuración. Yo lo estoy usando con Amazon Cloud drive ya que me gusta más que el "cliente" oficial.
Gracias, Aitor.
Muchas Gracias excelente información, gracias por compartir.
Espero que te sea útil, Alejandro.
Y gracias por opinar.
¡Un abrazo!
… Jesús Prieto …
Excelente muy util
Muchas gracias, Brezhnev.
Me alegro de que te resultara útil.
Un abrazo,
… Jesús Prieto …
hola, intente con tus indicacione sy al comprimir una carpeta no me comprimio un archivo iso que pesa 4 gb
Hola, CRistian:
Comprimo copias de seguridad cada día, algunas de más de 1 GB.
Te aconsejo tomar nota de tu sistema operativo, tu sistema de archivos y buscar en internet cuál es el máximo tamaño de archivo para esa combinación.
¡Suerte!
… Jesús Prieto …
Estimado Jesus
quisiera ver si me ayudas, con un problema que tengo, necesito sacar respaldos de una carpeta que contiene archivos de respaldos diarios de una base SQL, es decir esta carpeta tiene varios archivos de cada dia, mi idea es comprimir a diario mediante un bat que corra a una determinada hora y me genere una archivo zip del ultimo respaldo generado por el SQL. en una carpeta como seria la sentencia de comandos 7zip
Ayuda
Gracias de antemano
Hola. Muchas gracias por tu buen aporte
Por favor, quisiera preguntar.... no es posible hacer la copia de seguridad o backup directamente con 7.zip. porque el proceso que propones me supone hacer dos veces el trabajo, primero copiar todo a otro disco y luego comprimirlo. No puede ser la compresion de una sola vez? como seria la instruccion para el .bat?
Este otro artículo de Gonduana puede ayudarte:
Cómo automatizar las copias de seguridad con Windows
¡Suerte!
… Jesús Prieto …