Zip solo directorio público

1

Tengo muchos sitios web (más de 100 directorios) Quiero crear un archivo zip único con un solo directorio público.

Mi estructura ahora es como:

- Site 1
--- app
--- tmp
--- log
--- public

- Site 2
--- app
--- tmp
--- log
--- public

- ... 100+ dirs ...

Ahora necesito un zip único y luego, después de descomprimirlo, quiero ver esta estructura:

- Site 1
--- public

- Site 2
--- public

- others

¿Alguna sugerencia de cómo puedo hacer eso con los comandos de Linux zip / tar?

¡Muchas gracias!


fuente
2
Creo que esto es probablemente un mejor ajuste para superusuario.com

Respuestas:

2

Solo usa comodines para especificar solo los directorios públicos:

zip file.zip -r */public
R Samuel Klatchko
fuente
¿Hay una misma versión con tar? Con zip tengo limite de tamaño de archivo 4gb. ¡Gracias!
Básicamente recibí: error de zip: error en la lectura del archivo de entrada, pero si intento comprimir solo el archivo con error funciona.
0
sites/ $ ls

Site 1
Site 2
...
Site 100

$ zip sites.zip * -r -x app tmp log
voyager
fuente
puede ser bastante lento
0

Como has marcado 'tar'. Tu podrías intentar

tar cvjf /path/to/save/at/archive.tar.bz2 . --exclude='*/app' --exclude='*/tmp' --exclude='*/log'

para crear un archivo bz2.

robsn
fuente
0

Utilizar find para generar la lista:

find . -type d -name public -print > list.txt
tar -cvf test.tar -T list.txt
instanceof me
fuente
Estoy intentando esto, espero que con el alquitrán no haya ningún límite de tamaño.