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!

linux  zip  console  tar 

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

¿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

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.


0

Utilizar find para generar la lista:

find . -type d -name public -print > list.txt
tar -cvf test.tar -T list.txt

Estoy intentando esto, espero que con el alquitrán no haya ningún límite de tamaño.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.