A compactação da pasta na instância aws cria uma duplicata

2

Eu tenho um aplicativo da web nesse caminho

var/app/current

Eu uso este comando para compactar tudo, incluindo arquivos ocultos, como o htaccess

zip -r yourfile.zip * .*

Ele gera o arquivo compactado que contém os arquivos e pastas do aplicativo da web, além de uma pasta chamada current, que contém outra cópia dos arquivos e pastas do aplicativo da web.

Como posso compactar arquivos e pastas de aplicativos da web, incluindo arquivos ocultos, sem incluir o diretório 'atual' como duplicado.

    
por PHP User 27.05.2018 / 14:38

1 resposta

4

Você não pode usar .* , porque esse shell glob também corresponderá a . e .. (diretório atual e pai), causando o comportamento que você descreveu.

Mas, de qualquer forma, não é necessário, você pode usar a opção zip -r sozinha. Deixe-me citar a página de manual man zip :

   -r
   --recurse-paths
          Travel the directory structure recursively; for example:

                 zip -r foo.zip foo

          or more concisely

                 zip -r foo foo

          In this case, all the files and directories in foo are saved  in
          a zip archive named foo.zip, including files with names starting
          with ".", since the recursion does not use the shell's file-name
          substitution  mechanism.  If you wish to include only a specific
          subset of the files in directory foo and its subdirectories, use
          the  -i  option  to specify the pattern of files to be included.
          You should not use -r with the name  ".*",  since  that  matches
          ".."   which will attempt to zip up the parent directory (proba‐
          bly not what was intended).

          Multiple source directories are allowed as in

                 zip -r foo foo1 foo2

          which first zips up foo1 and then foo2, going down  each  direc‐
          tory.

          [...]

Você apenas especifica a pasta que deseja compactar, como:

zip -r yourfile.zip /var/app/current

Ou se o seu diretório atual já é /var/app/current , apenas:

zip -r yourfile.zip .
    
por Byte Commander 27.05.2018 / 14:53