Estoy intentando configurar un sistema de respaldo para un servidor que logro mejorar con respecto al sistema anterior. estoy eligiendozpaqporque proporcionó una buena compresión con el sistema anterior lrzip -z
y porque la página vinculada afirma ofrecer compresión incremental en la que solo se realiza una copia de seguridad de los datos modificados en cada nueva instancia de copia de seguridad.
Actualmente estoy usando el siguiente script para realizar la copia de seguridad (todos los datos se almacenan en el server
directorio):
cd server
zpaq pa ../backup.zpaq *
Este script produce un archivo que incluye todos los archivos que se encuentran directamente debajo del directorio del servidor, pero no escanea de forma recursiva todo el sistema de directorio. ¿Cómo puedo hacer que escanee todo el sistema de directorio? Cuando elimino la a
opción o hago una copia de seguridad del server
directorio de su padre, el problema persiste.
Elpágina de manualque parece estar escrito por el autor de las herramientas dice:
Si un nombre es un directorio, incluye de forma recursiva todos los archivos y subdirectorios que contiene.
ubuntupágina de manualno hace mención de la recursividad. Instalé la herramienta desde el repositorio de Ubuntu usando apt-get install zpaq
. Si el zpaq de Ubuntu es de alguna manera diferente del que vinculé al principio de esta pregunta, explique dónde se puede encontrar un paquete de Ubuntu para el zpaq vinculado.
Respuesta1
Parece que desea una solución que funcione zpaq
como espera. Pero, si está utilizando bash
, esta solución debería brindarle el resultado que desea. Tipo shopt -s globstar
. Luego, ejecuta el comando que has estado usando, con un pequeño cambio:
zpaq pa ../backup.zpaq **
Con globstar
el modo vigente,
**
se expande a una lista de entradas en el directorio actualárbol; es decir, el directorio actual y los siguientes. Me gusta *
, ignorará.
(archivos ocultos. Si quieres incluirlos, hazlo shopt -s dotglob
también. (Puedes combinarlos en un solo comando:) shopt -s globstar dotglob
.
Es más conveniente hacer esto en un script. Pero, si lo hace en su shell principal (interactivo), es posible que desee deshacer la shopt
configuración. Puedes hacer esto con shopt -u globstar dotglob
.
Nota: Si tiene demasiados archivos, esto podría fallar porque hay un límite en la longitud de la línea de comando, pero es bastante grande.
Respuesta2
Tuve el mismo problema en Ubuntu 14.04.3. La solución es no utilizar el paquete del repositorio sino instalar la fuente más reciente desdehttp://mattmahoney.net/dc/zpaq.html
Después de descargar el paquete, está en formato .zip y será necesario descomprimirlo usando unzip. A partir de ahí simplemente haz:
make
sudo make install
Ahora haciendo
zpaq a *archive* */dir*
incluirá el directorio y todos sus subdirectorios y archivos.