TAR ou diretório atual do ZIP excluindo o arquivo gerado

0

Eu estou tentando zipar ou tar todos os arquivos e subdiretórios no diretório atual e salvá-lo no arquivo que estou compactando. O problema é que -x shitch não funciona - os arquivos estão sendo compactados e salvos em um arquivo de nome aleatório.

zip -r backup.zip ./* -x backup.zip

Isso é o que eu tentei, mas o código não funcionou corretamente.

Existe alguma maneira de fazer isso sem salvar o arquivo .. diretório e, em seguida, movê-lo de volta para o diretório ./?

Obrigado antecipadamente.

    
por Ion Bazan 26.06.2013 / 14:32

2 respostas

0

O Zip não tentará zipar seu próprio arquivo para que você não precise usar -x. Supondo que backup.zip já exista no diretório atual e nós tentamos atualizar o zip:

# zip -r backup.zip ./*
updating: libproxychains4.so (deflated 61%)
updating: README (deflated 55%)
updating: TODO (deflated 17%)
updating: COPYING (deflated 62%)
updating: src/ (stored 0%)
updating: src/proxychains (deflated 65%)
updating: src/core.c (deflated 70%)
updating: src/common.o (deflated 68%)
updating: src/core.o (deflated 66%)
updating: src/main.c (deflated 58%)
updating: src/core.h (deflated 66%)
updating: src/libproxychains.c (deflated 69%)
updating: src/proxyresolv (deflated 30%)
updating: src/main.o (deflated 67%)
updating: src/libproxychains.o (deflated 70%)
updating: src/common.h (deflated 55%)
updating: src/proxychains.conf (deflated 57%)
updating: src/common.c (deflated 62%)
updating: proxychains.lsm (deflated 28%)
updating: configure (deflated 65%)
updating: AUTHORS (deflated 45%)
updating: dist/ (stored 0%)
updating: dist/config.mak (deflated 43%)
updating: ChangeLog (deflated 66%)
updating: config.mak (deflated 37%)
updating: proxychains4 (deflated 62%)
updating: tests/ (stored 0%)
updating: tests/test_getaddrinfo.c (deflated 51%)
updating: Makefile (deflated 58%)

Use -x se realmente precisar excluir um arquivo do seu backup.

    
por 27.06.2013 / 12:28
0

./* é expandido pelo shell antes ser enviado para o comando, então a única maneira de zip tentar incluir backup.zip é se existir antes executando o comando.

tar pode fazer isso:

$ cd -- "$(mktemp -d)" 
$ touch -- $'--$'!*@\a\b\E\f\r\t\v\\'"0021 \n'
$ tar -czf test.tar.gz ./*
$ ls
--$'!*@???????\'"                                    
por 26.06.2013 / 14:40