Restoring Files and File Systems (Tasks)
This chapter describes how to use the ufsrestore command to restore files and file systems that were backed up by using the ufsdump command.
For information on the procedures associated with restoring files and file systems, see "Restoring Files and File System Backups (Task Map)".
For information about other commands you can use to archive, restore, copy, or move files and file systems, see Chapter 50, Copying UFS Files and File Systems (Tasks).
Restoring Files and File System Backups (Task Map)
The following task map describes the procedures associated with restoring files and file systems.
Prepare to restore files and file systems
Identify the file system or files to be restored, the tape device, and how you will restore the files.
Determine which tapes to use
Refer to your backup tapes to find the date of the last backup that contains the file or file system that you need to restore.
Choose one of the following restore methods:
Restore files interactively - Use this method when you are unsure of the file names because you can browse the media contents and select individual files and directories.
Restore files non-interactively - Using this method is probably faster if you already know the few file names to be restored.
Restore a file system - Use this method when you get a new disk drive or as part of a recovery procedure.
Restore the root (/) or /usr file systems
Restoring the root (/) or /usr file systems involves booting the system from a local CD or the network.
Preparing to Restore Files and File Systems
The ufsrestore command copies files to disk, relative to the current working directory, from backups that were created by using the ufsdump command. You can use the ufsrestore command to reload an entire file system hierarchy from a level 0 dump and incremental dumps that follow it or to restore one or more single files from any backup tape. If the ufsrestore command is run as superuser, files are restored with their original owner, last modification time, and mode (permissions).
Before you start to restore files or file systems, you need to know the following:
The tapes (or diskettes) you need
The raw device name on which you want to restore the file system
The type of tape device you will use
The device name (local or remote) for the tape drive
Determining the File System Name
If you have properly labeled your backup tapes, you should be able to use the file system name (/dev/rdsk/device-name) from the tape label. For more information, see "How to Find File System Names".
Determining the Type of Tape Device You Need
You must use a tape device that is compatible with the backup media to restore the files. The format of the backup media determines which drive you must use to restore files. For example, if your backup media is 8-mm tape, you must use an 8-mm tape drive to restore the files.
Determining the Tape Device Name
You might have specified the tape device name (/dev/rmt/n) as part of the backup tape label information. If you are using the same drive to restore a backup tape, you can use the device name from the label. For more information on media devices and device names, see Chapter 51, Managing Tape Drives (Tasks).
Restoring Files and File Systems
When you back up files and directories, you save them relative to the file system in which they belong. When you restore files and directories, the ufsrestore command re-creates the file hierarchy in the current working directory.
For example, files backed up from the /export/doc/books directory (where /export is the file system), are saved relative to /export. In other words, the book1 file in the books directory is saved as ./doc/books/book1 on the tape. Later on, if you restored the ./doc/books/book1 file to the /var/tmp directory, the file would be restored to /var/tmp/doc/books/book1.
When you restore individual files and directories, it is a good idea to restore them to a temporary location, such as the /var/tmp directory. After you verify them, you can move the files to their proper locations. You can restore individual files and directories to their original locations. If you do so, be sure you are not overwriting newer files with older versions from the backup tape.
To avoid conflicts with other users, you might want to create and change to a subdirectory, such as the/var/tmp/restore file, in which to restore the files.
If you are restoring a hierarchy, you should restore the files in a temporary directory on the same file system where the files will reside. So, you can use the mv command to move the entire hierarchy where it belongs after it is restored.
Note - Do not restore files in the /tmp directory even temporarily. The /tmp directory is usually mounted as a TMPFS file system and TMPFS does not support UFS file system attributes such as ACLs.
How to Determine Which Tapes to Use
Refer to your backup plan to find the date of the last backup that contains the file or file system.
To retrieve the most recent version of a file, work backward through the incremental backups from highest to lowest level and most recent to least recent, unless the user requests otherwise.
(Optional) If you have online archive files, identify the correct media.
# ufsrestore ta archive-name ./path/filename ./path/filename
Lists each file on the tape.
Reads the table of contents from the online archive file instead of the tape.
Identifies the online archive file name.
Identifies the file name(s) you are looking for on the online archive. If successful, the ufsrestore command prints out the inode number and file name. If unsuccessful, ufsrestore prints an error message.
For more information, see ufsrestore(1M).
Insert the media that contains the files to be restored in the drive and verify the correct media.
# ufsrestore tf /dev/rmt/n ./path/filename ./path/filename
Be sure to use the complete path for the filename(s). If a file is in the backup, its name and inode number is listed. Otherwise, a message says that the file is not on the volume.
(Optional) If you have multiple dump files on the same tape, position the tape at the dump file you want to use.
# ufsrestore tfs /dev/rmt/n tape-number
Examples--Determining Which Tapes to Use
The following example shows how to checks if /etc/passwd file is in the online archive.
# ufsrestore ta /var/tmp/root.archive ./etc/passwd
The following example show to verify that the /etc/passwd is on the backup tape.
# ufsrestore tf /dev/rmt/0 ./etc/passwd
How to Restore Files Interactively
Become superuser or assume an equivalent role.
(Optional) Write-protect the tape for safety.
Insert the volume 1 tape into the tape drive.
Change to a directory that will be used to restore the files temporarily.
# cd /var/tmp
Start the interactive restoration.
# ufsrestore if /dev/rmt/n
Some informational messages and the ufsrestore> prompt are displayed.
Create a list of files to be restored.
List the contents of a directory.
ufsrestore> ls directory
Change to a directory.
ufsrestore> cd directory-name
Create a list of files and directories that you want to restore.
ufsrestore> add filename filename
(Optional) Remove any directory or file name from the list of files to be restored, if necessary.
ufsrestore> delete filename
(Optional) Display the file names as they are being restored.
Restore the files.
The ufsrestore command asks you which volume number to use.
Type the volume number and press Return. If you have only one volume, type 1 and press Return.
Specify next volume #: 1
The files and directories in the list are extracted and restored to the current working directory.
To keep the mode of the current directory unchanged, enter n at the set owner/mode prompt.
set owner/mode for `.'? [yn] n
You must wait while the ufsrestore command performs its final cleanup.
Quit the ufsrestore program.
You then see the shell prompt.
Verify the restored files.
Move the files to the proper directories.