Thread: GNU tar and PITR

GNU tar and PITR

From
Peter Eisentraut
Date:
http://developer.postgresql.org/pgdocs/postgres/continuous-archiving.html
says:

"""
Also, some versions of GNU tar consider it an error if a file is changed while
tar is copying it. There does not seem to be any very convenient way to
distinguish this error from other types of errors, other than manual
inspection of tar's messages. GNU tar is therefore not the best tool for
making base backups.
"""

However, GNU tar returns 2 for a real error and 1 for the file changed case.
Isn't that sufficient?

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

Re: GNU tar and PITR

From
Peter Eisentraut
Date:
Am Montag, 16. Juli 2007 12:01 schrieb Peter Eisentraut:
> http://developer.postgresql.org/pgdocs/postgres/continuous-archiving.html
> says:
>
> """
> Also, some versions of GNU tar consider it an error if a file is changed
> while tar is copying it. There does not seem to be any very convenient way
> to distinguish this error from other types of errors, other than manual
> inspection of tar's messages. GNU tar is therefore not the best tool for
> making base backups.
> """
>
> However, GNU tar returns 2 for a real error and 1 for the file changed
> case. Isn't that sufficient?

Ah ...

"""
version 1.16 - Sergey Poznyakoff, 2006-10-21

* After creating an archive, tar exits with code 1 if some files were
changed while being read.  Previous versions exited with code 2 (fatal
error), and only if some files were truncated while being archived.
"""

We should update the documentation.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

Re: GNU tar and PITR

From
Bruce Momjian
Date:
Peter Eisentraut wrote:
> Am Montag, 16. Juli 2007 12:01 schrieb Peter Eisentraut:
> > http://developer.postgresql.org/pgdocs/postgres/continuous-archiving.html
> > says:
> >
> > """
> > Also, some versions of GNU tar consider it an error if a file is changed
> > while tar is copying it. There does not seem to be any very convenient way
> > to distinguish this error from other types of errors, other than manual
> > inspection of tar's messages. GNU tar is therefore not the best tool for
> > making base backups.
> > """
> >
> > However, GNU tar returns 2 for a real error and 1 for the file changed
> > case. Isn't that sufficient?
>
> Ah ...
>
> """
> version 1.16 - Sergey Poznyakoff, 2006-10-21
>
> * After creating an archive, tar exits with code 1 if some files were
> changed while being read.  Previous versions exited with code 2 (fatal
> error), and only if some files were truncated while being archived.
> """
>
> We should update the documentation.

Docs updated, patch attached.

--
  Bruce Momjian  <bruce@momjian.us>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: backup.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/backup.sgml,v
retrieving revision 2.98
retrieving revision 2.99
diff -c -r2.98 -r2.99
*** backup.sgml    29 Jun 2007 15:46:21 -0000    2.98
--- backup.sgml    16 Jul 2007 22:20:51 -0000    2.99
***************
*** 734,746 ****
      complaints of this sort from real errors.  For example, some versions
      of <application>rsync</> return a separate exit code for <quote>vanished
      source files</>, and you can write a driver script to accept this exit
!     code as a non-error case.  Also,
!     some versions of GNU <application>tar</> consider it an error if a file
!     is changed while <application>tar</> is copying it.  There does not seem
!     to be any very convenient way to distinguish this error from other types
!     of errors, other than manual inspection of <application>tar</>'s messages.
!     GNU <application>tar</> is therefore not the best tool for making base
!     backups.
     </para>

     <para>
--- 734,744 ----
      complaints of this sort from real errors.  For example, some versions
      of <application>rsync</> return a separate exit code for <quote>vanished
      source files</>, and you can write a driver script to accept this exit
!     code as a non-error case.  Also, some versions of GNU
!     <application>tar</> consider it an error if a file is changed while
!     <application>tar</> is copying it.  Fortunately, GNU
!     <application>tar</> versions 1.16 and later exit with <literal>1</>
!     if files changed during the backup, and <literal>2</> for other errors.
     </para>

     <para>