26 Restoring archives with missing data

Contents of this section

An archive will miss data if there were read errors during a restore, and in case error correcting codes were used, if there were too many read errors to correct them all.

When restoring archives with missing data, two things can happen depending on how large the `holes' in the archive are:

Unfortunately, trestore cannot produce a listing of exactly those files that are affected by the missing data. Determining the damages can be tricky. Here are some general rules:

There are three sources of information about missing data:

  1. The index file of the archive made during the backup.
  2. The index file made during the restore.
  3. The contents of the restored files.
By comparing the backup and restore indexes (assuming both are available), you can see what files are missing completely from in the restore.

Also, the restore index file usually contains archiver error messages that were produced when processing the `holes' in the archive. The files listed immediately before or after an error message may be damaged or missing completely. For example, with the restore log

usr/src/utils/Makefile -- uncompressed
usr/src/utils/proto.h -- okay
gzip: stdin: invalid compressed data--crc error
afio: "inentry xwait()": Exit 1
usr/src/utils/utils.c -- uncompressed
usr/src/utils/utils.h -- uncompressed
the files proto.h and utils.c may have been restored incorrectly. Also, the original archive may have contained a one or more files between proto.h and utils.c that are now lost completely.

Unfortunately, the archiver can sometimes restore a file incorrectly because of a hole without giving any error message. However, if a file is listed as -- uncompressed and is not immediately preceded by an error message, you can safely assume it was restored correctly.

Another way of checking if files were restored right is by looking at their contents. If a file was listed as -- okay in a restore of an archive with a hole in it, and the hole was in the file, the archiver will in general not produce an error message in the restore log: it will say -- okay but it is wrong. The hole in the restored file will however always be `filled' by trestore with ????? characters. A quick way of checking all files in a directory for this is by running the command

grep -l "????????????" * 
in this directory. This will list all the names of files with sequences of ????? characters in them.

If a floppy is missing completely from a backup set, and you use the q! command of trestore to go on to the next floppy, in rare cases the holes in restored files will be filled with the string This is dummy data in stead of ?????.

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter