shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] problema com o tar


From: Gustavo Chaves
Subject: Re: [shell-script] problema com o tar
Date: 07 May 2005 23:26:17 -0300
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

>>>>> On Fri, 6 May 2005 12:50:59 -0700 (PDT), Rodrigo Monteiro 
>>>>> <address@hidden> said:

  > estou fazendo um backup de alguns dirs em um servidor
  > e tem um arquivo de log que esta sendo atualizado
  > sempre, em qualquer hora. o problema com o tar eh que
  > sempre que ele chega nesse arquivo de log ele diz q o
  > arquivo esta sendo alterado constantemente, e para por
  > causa desse erro. como faco para contornar esse
  > problema?
  > uso tar -cf /diretorio e depois bzip2 arquivo.tar
  > e nao da para copiar o conteudo desse dir para outro
  > lugar por falta de espaco em disco.

Eu nunca havia visto este problema, mas consegui reproduzi-lo fazendo
um tar de um arquivo que estava "crescendo" simultaneamente.  A
mensagem obtida foi a seguinte:

  tar: txt: arquivo alterado enquanto estava sendo lido

Não encontrei nada a respeiro na documentação do tar, mas olhando o
código vi que a mensagem é gerada na função dump_regular_finish do
módulo create.c.  Ela é chamada no final do dump de um arquivo e
compara o ctime do mesmo com o valor que tinha antes de começar o
dump.  Note que se trata do ctime, que é alterado quando qualquer
meta-informação sobre o arquivo muda (coisas como o dono, o grupo, as
permissões de acesso ou o seu tamanho), e não do mtime.

Só que pelo que eu entendi, trata-se meramente de uma mensagem de
alerta (um warning) e não de um erro, de modo que o tar não deveria
parar no meio do caminho e nem retornar qualquer código de erro.
Sugiro que você confira o conteúdo do arquivo gerado pelo tar pra
verificar se realmente ele ficou truncado.  Além disso, o seu script
deveria verificar o código de término (exit code) do tar pra ver se
ele sinaliza algum erro.

Gustavo.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]