Necesito hacer una copia de seguridad de un directorio bastante grande, pero estoy limitado por el tamaño de los archivos individuales. Básicamente, me gustaría crear un tar.(gz|bz2)
archivo que se divida en archivos de 200 MB como máximo. Clonezilla hace algo similar a esto al dividir las copias de seguridad de imágenes llamadas así:
sda1.backup.tar.gz.aa
sda1.backup.tar.gz.ab
sda1.backup.tar.gz.ac
¿Hay alguna manera de hacer esto en un comando? Entiendo cómo usar el split
comando, pero me gustaría no tener que crear un archivo gigante, luego dividirlo en archivos más pequeños, ya que esto duplicaría el espacio en disco que necesitaría para crear inicialmente el archivo.
Respuestas:
Puede canalizar alquitrán al comando dividido:
En algunos sistemas * nix (como OS X) puede recibir el siguiente error:
En ese caso, intente esto (tenga en cuenta lo siguiente
-b 200m
):Si está intentando dividir el archivo para que quepa en una unidad formateada con FAT32, use un límite de bytes de 4294967295. Por ejemplo:
fuente
cat sda1.backup.tar.gz.* | tar xzvf -
el trabajo?split
de manera predeterminada, establece los nombres de los archivos para que, cuando se ordenen por LOCALE (que se realiza mediante shell globing), estén en el orden correcto.tar czf ...
prescindir de lav
y fusionarsecat backup.tar.gz.* | tar tar xzf -
sinv
. No veo ningún beneficio de la producción detallada aquí porv
.tar cvzf - Xcode.app/ | split -b 2000m - /Volumes/PH/xcode/xcode.tgz
(usado decd /Applications/
) Muchas gracias :)En macOS, el
split
comando funciona de manera ligeramente diferente:fuente
Solo para agregar: como el tamaño de archivo máximo permitido en vfat / fat32 es 2 ^ 32 menos 1 (4294967295 bytes), el comando de división con el tamaño de archivo máximo permitido en dicho sistema de archivos es:
fuente
Necesitará un script para la automatización moviendo el archivo pseudo-tape.tar a un nuevo nombre:
fuente
-M --tape-length
. Sin embargo, esta respuesta ignora la solicitud del OP de una solución que use compresión gzip o bzip2.tar
un clon de alquitrán llamadogtar
(GNU alquitrán). Este clon de alquitrán admite la creación de archivos de varios volúmenes, pero con una probabilidad notable de que no pueda / no quiera extraer de esos archivos de varios volúmenes, ya que afirma incorrectamente que un volumen de seguimiento no es la parte de continuación correcta.