ufsrestore -- incremental filesystem restore


/usr/sbin/ufsrestore options [arguments] [filename . . .]


ufsrestore restores files from backup tapes created with the ufsdump command. options is a string of at least one of the options listed below, along with any modifiers and arguments you supply. Any arguments supplied for specific options are given as subsequent words on the command line, in the same order as that of the options listed. Remaining arguments to ufsrestore are the names of files (or directories whose files) are to be restored to disk. Unless the h modifier is in effect, a directory name refers to the files it contains, and (recursively) its subdirectories and the files they contain.

Command options

Interactive. After reading in the directory information from the tape, ufsrestore invokes an interactive interface that allows you to browse through the dump tape's directory hierarchy and select individual files to be extracted.

Restore the entire tape. Load the tape's full contents into the current directory. This option should be used only to restore a complete dump tape onto a clear filesystem, or to restore an incremental dump tape after a full level 0 restore.

Resume restoring. ufsrestore requests a particular tape of a multivolume set from which to resume a full restore (see the r option above). This allows ufsrestore to start from a checkpoint when it is interrupted in the middle of a full restore.

Table of contents. List each filename that appears on the tape. If no filename argument is given, the root directory is listed. This results in a list of all files on the tape, unless the h modifier is in effect.

Extract the named files from the tape. If a named file matches a directory whose contents were written onto the tape, and the h modifier is not in effect, the directory is recursively extracted. The owner, modification time, and mode are restored (if possible). If no filename argument is given, the root directory is extracted. This results in the entire tape being extracted unless the h modifier is in effect.

Some of the following modifiers take arguments that are given as separate words on the command line. When more than one such modifier appears within options, the arguments must appear in the same order as the modifiers that they apply to.

Convert the contents of the dump tape to the new filesystem format.

Debug. Turn on debugging output.

Extract the actual directory, rather than the files that it references. This prevents hierarchical restoration of complete subtrees from the tape.

Extract by inode numbers rather than by filename to avoid regenerating complete pathnames. This is useful if only a few files are being extracted.

Verbose. ufsrestore displays the name of each file it restores, preceded by its file type.

Do not ask whether to abort the restore in the event of tape errors. ufsrestore tries to skip over the bad tape block(s) and continue as best it can.

b factor
Blocking factor. Specify the blocking factor for tape reads. By default, ufsrestore will attempt to figure out the block size of the tape. Note: a tape block is 512 bytes.

f dump-file
Use dump-file instead of /dev/rmt? as the file to restore from. If dump-file is specified as -, ufsrestore reads from the standard input. This allows, ufsdump(1M) and ufsrestore to be used in a pipeline to dump and restore a filesystem, as shown in the example below. (The device names on your system may differ from those shown in the example.)

ufsdump 0f - /dev/rxy0g | (cd /mnt; ufsrestore xf -)

s n
Skip to the n-th file when there are multiple dump files on the same tape, as shown in the example below. (The device names on your system may differ from those shown in the example.)

ufsrestore xfs /dev/nrar0 5

would position you at the fifth file on the tape.

ufsrestore enters interactive mode when invoked with the i option. Interactive commands are reminiscent of the shell. For those commands that accept an argument, the default is the current directory.

ls [directory]
List files in directory or the current directory, represented by a ``.'' (period). Directories are appended with a ``/'' (backslash). Entries marked for extraction are prefixed with a ``*'' (asterisk). If the verbose option is in effect, inode numbers are also listed.

cd directory
Change to directory directory (within the dump-tape).

Print the full pathname of the current working directory.

add [filename]
Add the current directory, or the named file or directory directory to the list of files to extract. If a directory is specified, add that directory and its files (recursively) to the extraction list (unless the h modifier is in effect).

delete [filename]
Delete the current directory, or the named file or directory from the list of files to extract. If a directory is specified, delete that directory and all its descendents from the extraction list (unless the h modifier is in effect). The most expedient way to extract a majority of files from a directory is to add that directory to the extraction list, and then delete specific files to omit.

Extract all files on the extraction list from the dump tape. ufsrestore asks which volume the user wishes to mount. The fastest way to extract a small number of files is to start with the last tape volume and work toward the first.

Toggle the status of the v modifier. While v is in effect, the ls command lists the inode numbers of all entries, and ufsrestore displays information about each file as it is extracted.

Display a summary of the available commands.

ufsrestore exits immediately, even if the extraction list is not empty.


the default tape drive

file containing directories on the tape

owner, mode, and timestamps for directories

information passed between incremental restores


ufsrestore complains about bad option characters.

Read errors result in complaints. If y has been specified, or the user responds y, ufsrestore will attempt to continue.

If the dump extends over more than one tape, ufsrestore asks the user to change tapes. If the x or i option has been specified, ufsrestore also asks which volume the user wishes to mount.

There are numerous consistency checks that can be listed by ufsrestore. Most checks are self-explanatory or can ``never happen''. Common errors are given below.

Converting to new filesystem format.
A dump tape created from the old filesystem has been loaded. It is automatically converted to the new filesystem format.

filename: not found on tape
The specified file name was listed in the tape directory, but was not found on the tape. This is caused by tape read errors while looking for the file, and from using a dump tape created on an active filesystem.

expected next file inumber, got inumber
A file that was not listed in the directory showed up. This can occur when using a dump tape created on an active filesystem.

Incremental tape too low
When doing an incremental restore, a tape that was written before the previous incremental tape, or that has too low an incremental level has been loaded.

Incremental tape too high
When doing incremental restore, a tape that does not begin its coverage where the previous incremental tape left off, or one that has too high an incremental level has been loaded.

Tape read error while restoring filename

Tape read error while skipping over inode inumber

Tape read error while trying to resynchronize

A tape read error has occurred.
If a file name is specified, then its contents are probably partially wrong. If an inode is being skipped or the tape is trying to resynchronize, then no extracted files have been corrupted, though files may not be found on the tape.

resync ufsrestore, skipped num
After a tape read error, ufsrestore may have to resynchronize itself. This message lists the number of blocks that were skipped over.


mkfs(1M), mount(1M), ufsdump(1M)


ufsrestore can get confused when doing incremental restores from dump tapes that were made on active filesystems.

A level 0 dump must be done after a full restore. Because ufsrestore runs in user mode, it has no control over inode allocation; this means that ufsrestore repositions the files, although it does not change their contents. Thus, a full dump must be done to get a new set of directories reflecting the new file positions, so that later incremental dumps will be correct.

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004