Eu escrevi um pequeno script que tarra e comprime uma lista de diretórios + arquivos.
O script parece ser executado com êxito, pois um arquivo .tar.gz utilizável é criado após a execução do script.
No entanto, recebo esta mensagem irritante depois que o script termina:
tar: saindo com status de falha devido a erros anteriores
Não vejo nenhuma mensagem de erro enquanto o script está funcionando e, como eu disse, o arquivo produzido pode ser descompactado sem avisos / erros. Como estou usando isso como parte do meu backup, quero ter certeza de que não estou ignorando algo sério.
Quais são os possíveis motivos pelos quais essa mensagem de erro / aviso está sendo produzida - e posso ignorá-la com segurança? Se eu não conseguir ignorá-lo, quais são as etapas para diagnosticar e resolver o erro?
Estou executando no Ubuntu 10.0.4
o problema é o argumento, o
f
argumento assume o próximo como o nome do arquivo, portanto deve ser o último argumentoou
é o mesmo e sem erro.
fonte
Às vezes, fazendo backup de arquivos que podem mudar durante o backup, como arquivos de log, você pode achar útil a opção tar '--ignore-failed-read' (eu estou no Debian Linux, não tenho certeza sobre o tar não gnu).
A saída e o erro padrão podem ser redirecionados em 2 arquivos diferentes, com algo como:
Acho que isso geralmente é seguro, mas tenha cuidado, pois o alcatrão não para ...
fonte
Eu estava tendo o mesmo problema e nenhuma das respostas acima funcionou para mim. No entanto, descobri que executar o seguinte comando funcionava:
tar -cpzf /backups/fullbackup.tar.gz --exclude=backups --exclude=proc --exclude=tmp --exclude=mnt --exclude=sys --exclude=dev --exclude=run /
Os erros que estavam sendo mencionados em
tar: Exiting with failure status due to previous errors
podem ser identificados desativando a opção -v. Após a revisão, os erros vieram de diretórios como/run
e/sys
.Ao excluir esses diretórios, ele funciona bem. Espero que isso ajude qualquer pessoa com um problema semelhante.
fonte
Eu tive o mesmo problema. Tudo o que fiz foi remover o traço ("-") do comando.
Em vez de digitá-lo como
tente digitá-lo como
Não sei por que o traço estava causando problemas no meu caso, mas pelo menos funcionou.
fonte
-f
deve seroutput.tar.gz
e não deve haverz
no meio. Sem re-ordenamento das opções seria corretamente ser:tar -cvf output.tar.gz -z folder/
. O estilo antigo espera todas as opções em um só lugar e todos os argumentos a seguir.Você entendeu mal uma resposta anterior. O problema não é o
-
, é ondef
está na sua lista de argumentos.Tentará criar um arquivo chamado "z", como é o texto a seguir
f
. A mensagem de erro é porque o tar não pode encontrar "target.gz" para adicionar ao arquivo "z".Cria corretamente o target.tgz e adiciona arquivos a ele. Isso ocorre porque target.tgz é o primeiro texto após o
f
argumento.fonte
Geralmente você pode ignorar essa mensagem. Se houver alguma alteração (como exclusões / criações / modificações de arquivo) na árvore de diretórios subjacente durante a criação do tar, ela emitirá essa mensagem. Além disso, se houver arquivos especiais como nós do dispositivo, fifos e assim por diante, eles causarão esse aviso.
Tem certeza de que não consegue ver nenhum arquivo culpado? Tente com
tar cvfz yourtarball.tgz /your/path
fonte
Eu tive um problema semelhante ao desarmar um arquivo que recebi. Acontece que eu não tinha permissão para gravar os arquivos no arquivo morto pertencente ao root. Usando o sudo foi corrigido.
fonte
fonte