De man zip
page:
zip -r foo foo -x \*.o
which will include the contents of foo in foo.zip while excluding all
the files that end in .o. The backslash avoids the shell filename
substitution, so that the name matching is performed by zip at all
directory levels.
Você deve certificar-se de que seu glob *
esteja expandido não pelo shell, mas pelo utilitário zip
, senão ele afetará somente os arquivos diretamente no diretório / etc / alternatives e não direcionará os subdiretórios. Isso pode ser feito adicionando contrabarra na frente de *
ou citando:
sudo zip -r /home/pi/backup/$timestamp/etcfilesall.zip /etc/* –x /etc/alternatives/\*
No entanto, parece que você já tentou de maneira semelhante - não está claro para mim por que não funcionou para você, enquanto deveria. Ainda assim, existem outras maneiras de obter um efeito semelhante, como usar ferramentas adicionais para excluir arquivos que você não deseja antes de chamar o utilitário zip
:
sudo zip -r /home/pi/backup/$timestamp/etcfilesall.zip $(sudo find /etc | grep -v ^/etc/alternatives)