zip alguns diretórios recursivamente e outros não em um único comando?

1

Gostaria de fazer um backup de comando único de várias pastas e arquivos na minha máquina OSX. O problema é o diretório raiz.

Basicamente, quero zipar - todos os arquivos na raiz do meu diretório home (~) mas não para recursar - recursivamente obter o conteúdo de ~ / Documents, ~ / Music, ~ / Pictures

Basicamente: como eu digo ao zip para usar -r para alguns diretórios e não para outros, ou existe outra maneira? Eu não quero usar o tar (eu quero um arquivo criptografado) e preferiria não ter que instalar outra ferramenta, por exemplo 7zip.

    
por Joe 16.11.2016 / 21:00

1 resposta

1

-@ diz ao zip para ler a lista de arquivos a serem arquivados no stdin. Você pode usar o comando find para listar os arquivos desejados e direcioná-los para o zip.

por exemplo, no seu diretório pessoal, execute:

( find . -type f -maxdepth 1 ; find Documents ) | zip backup.zip -@

O primeiro achado lista os arquivos de nível superior no diretório atual, o segundo lista tudo em Documentos recursivamente.

    
por 16.11.2016 / 23:53