¿Hay alguna manera de tener un archivo 7-zip inicial y tener versiones similares almacenadas como ‘lo que ha cambiado’?

Supongo que desea realizar copias de seguridad versionadas para poder restaurar versiones anteriores, y desea que estas copias de seguridad ocupen el menor espacio posible. Si no es lo que desea, edite su pregunta y hágamelo saber.

En términos técnicos, esto generalmente se denomina respaldo diferencial (o respaldo incremental). Para la copia de seguridad inicial, crea una “copia de seguridad completa”, y para copias de seguridad posteriores, cada copia de seguridad solo almacena lo que cambió (lo que es diferente).

La copia de seguridad diferencial se puede hacer en múltiples niveles. Se puede hacer a nivel de archivo (almacenar cada archivo que ha cambiado desde la última copia de seguridad), o se puede hacer a nivel de bloque (solo se harán copias de seguridad de los bloques de datos que se cambien). Dado que mencionó un archivo de 10 GB, supongo que necesita una copia de seguridad diferencial de nivel de bloque para que solo se realicen copias de seguridad de los bloques modificados dentro de este gran archivo.

En lo que sé, 7-zip no admite la copia de seguridad diferencial de nivel de bloque (solo lo admite por archivo). Una herramienta que me gusta usar para la copia de seguridad diferencial a nivel de bloque es zpaq. zpaq tiene los siguientes pros y contras en comparación con 7-zip.

Pros:

  1. Tiene una de las relaciones de compresión más altas entre herramientas similares.
  2. Soporte de copia de seguridad diferencial a nivel de bloque.
  3. Pruebas futuras (todas las versiones futuras de zpaq garantizan que todos los archivos .zpaq sean accesibles porque los algoritmos de compresión se almacenan en el archivo).
  4. Muy estable.
  5. Se ejecuta en casi todos los sistemas operativos.

Contras:

  1. No hay una versión GUI estándar si eso es lo que necesita. Hay algunos como winzpaq, un complemento de Total Commander y algunos otros proyectos que puede encontrar en la página web de zpaq. El lado positivo es que la línea de comandos de zpaq es mucho más simple que 7-zip. Y si necesita crear copias de seguridad muy a menudo, de todos modos debería automatizarse.

Es muy simple crear copias de seguridad diferenciales iniciales y siguientes:

zpaq add “backup-dir / backup-archive – ????” my-huge-file -index backup-archive-index.zpaq

Esto comprimiría mi archivo enorme a backup-dir / backup-archive-0001.zpaq. Las versiones futuras se llamarán backup-dir / backup-archive-0002.zpaq y así sucesivamente, y serán pequeñas ya que solo contienen datos modificados.

También se creará un archivo de índice muy pequeño llamado backup-archive-index.zpaq, que es todo lo que necesita para crear futuras copias de seguridad diferenciales. Eso significa que puede mover el archivo de respaldo real (backup-dir / backup-archive-0001.zpaq y otros) a medios de almacenamiento fuera de línea para un almacenamiento más seguro. Y solo necesita mantener backup-archive-index.zpaq con sus datos primarios activos para crear futuras copias de seguridad diferenciales.

La documentación completa de zpaq se puede encontrar aquí. Tengo una pequeña herramienta llamada copia de seguridad remota que llama a zpaq para crear copias de seguridad diferenciales y las envía a un servidor remoto para copias de seguridad, automáticamente para máquinas Linux.

Lo que quieres es un sistema de gestión de código.

Esto almacenará el archivo original y luego almacenará solo los cambios en ese archivo. Mucho más pequeño que los archivos duplicados.

Sugiero buscar en “git” como el sistema de administración de código, además de almacenar solo los cambios, también le permitirá registrar por qué se realizó el cambio, cuándo se realizó, y si tiene un grupo de personas haciendo cambios, quién cambió eso.

Además, también es compatible con la “resolución de conflictos” cuando una persona cambia de conflicto con otra.

Además de todo eso, también admite ramas de cambios, operación remota, desarrollo distribuido …