The frecover Command Restoring Files from a Backup

delete btmp Cancel one of the selected files and remove the file from the extract list restore ls Relist the directory on the tape . adm: .sh_history lp streams OLDsulog nettl.LOG00 sulog acct new._ACL sw automount.log new._OWNER syslog btmp new._PROD_DFLT_ACL utmp cron ptydaemonlog wtmp diag rc.log wtmpx dumpdates rpc.lockd.log eisa rpc.statd.log restore extract Restore selected files and directory. It takes a while to restore selected data from the tape into the current directory. restore quit Exit the interactive restore.

12.5.2 The frecover Command

frecover is the HP−UX 10.x restore alternative for the fbackup command. Even the usual name restore was modified. This command recovers data that have been previously fbacked−up. frecover selectively recovers files. The frecover command has the following form: frecover functions−arguments options−arguments where functions−arguments A list of functions that define command activities, with corresponding arguments options−arguments A list of options with corresponding arguments if requested Files and directories to be recovered from the tape can be specified as arguments, or can be a list specified as an argument. Selected functions and options are immediately followed by the corresponding arguments, if the arguments are requested. The most common functions and options are: Function Meaning r Reads and recovers a complete fbackup contents to its original location intended to recover full and incremental backups x Extracts specified files and directories recursively, unless the h option is implemented. Ownership, mode, and time are preserved unless the A option is specified I Extracts only the index from the tapevolume the list of fbackup−ed files on the tapevolume and writes to the file defined as an argument 295 R Continues an interrupted recovery Option Meaning c Specifies a configuration file for the recovery an argument i Includes a filename or a directory name to be extracted an argument, could be repeated many times e Excludes a filename or a directory name from being extracted an argument, could be repeated many times g Specifies a graph−file an argument — a list of included and excluded filenamesdirectory names f Identifies the backup device to be used instead of the default devrmt0m an argument v Verbose — otherwise frecover works silently h Prevents a recursive extraction of selected directories X Recovers files relative to the current directories; normally files are recovered to their absolute path name Note: There are additional options that make frecover more powerful and flexible. The frecover command can be used from the command line, but the large number of options and arguments makes such an approach very difficult in practice. It is more convenient to use a homemade script that includes the frecover command. Here is an example; requested recover data are passed as arguments, and logging is provided out of the script. cat usrlocalfrecoverbinfrecover_data usrbinksh This is the script frecover_data Purpose: to support frecover in background with logging GRF=1 Graph file what to recover; MTD=2 Tape drive where to recover from; REF=3 Referent directory to recover data; SFX=4 Type of recovery; frecover options: r − recover into original locations x − extract recover data specified by −g X − recover data relative to the current directory o − recover overwrite data irrespectively to the age v − verbose mode g − data to be recovered specified in the graph file GRF f − specifies the tape drive MTD cd REF echo date: frecover started… if [ SFX = FULL ]; then etcfrecover −rov −f MTD else etcfrecover −xovX −g GRF −f MTD fi echo date: frecover completed. echo date: tape rewinding started… usrbinmt −t MTD rewind echo date: tape rewinding completed. 296 In the case of multiple filesystems archived on a single tape, each filesystem can be restored separately by using the previously described restore command. Before the start of a filesystems restoration, the tape itself must be positioned at the beginning of the corresponding filesystems archive. This requires iterative use of the mt command, followed by the restore command, with an appropriate selection of the rewind and no rewind device files. A system administrator wrote the following README file, and it describes the restore procedure on a Solaris 2.x system for filesystems archived by the script backup_system discussed earlier see examples for backup and dump. Solaris 2.x supports the ufsrestore command, which is equivalent to the restore command on other UNIX platforms. This means that the procedure presented here could be implemented on any other UNIX platform by simply replacing the ufsrestore with the restore command. Let us see the README file: cat etcRESTORE_SYSTEM.README To restore a filesystem from a backup tape with multiple filesystems archives the tape was backed−up by the script backup_system A regular not−Berkeley style tape device devrmt0 is assumed Each individual filesystem was backed−up by the command: ufsdump 0ubf 96 devrmt0n devrdskcXtXdXsX Rewind the tape: mt −f devrmt0 rewind The first filesystem on the tape is the root filesystem For interactive restoring type: ufsrestore ibf 96 devrmt0n Then use the appropriate restore commands. Since the quit ufsrestore sub−command is issued, the tape is placed on the start of the next archived filesystem, because the not−Berkeley style norewind device devrmt0n was used. If the rewind device was used: ufsrestore ibf 96 devrmt0 the tape would automatically rewind to the begginning of the tape. To skip a filesystem on the tape, type: mt −f devrmt0n fsf 1 you must be sure about previous tape position To stay on the same filesystem, use the norewind device and after the quit ufsrestore sub−command, type: mt −f devrmt0n bsf 2 To reach the k−th filesystem on the tape, type: mt −f devrmt0 rewind mt −f devrmt0n fsf {k−1} To return skip back k filesystems on the tape, type: mt −f devrmt0n bsf {k+1} For an interactive restore type: ufsrestore ibf 96 devrmt0n then use an appropriate ufsrestore sub−commands. 297

12.6 Tape Control

Assuming the use of the regular not−Berkeley style no rewind device file, proper forward and backward moving of a tape still seems a little confusing. To understand this better, we should also recall that there are two types of mt device files: Berkeley and regular non−Berkeley, also known as ATT style, and they behave differently. This means that the same set of tape−related commands would handle a tape differently depending on the type of the tape device file selected. The trailing letter b in the device filename identifies Berkeley−style devices, so it is very easy to distinguish between the two types of tape devices. The system works in the following way assuming non−Berkeley style devices: At the end of a recording on a tape performed by dump, tar, or other an EOF pointer is automatically appended after the backup record. • Any movement of the tape is referenced by those EOF pointers. • A tape always stops at the first block that follows a designated EOF pointer a tape forwards just after the closest EOF pointer, whatever the direction of the previous tape movement was. • The mt command, which is used to move a tape, refers to a number of EOF pointers, determined by its count option, to be skipped in any direction every EOF pointer on the way is counted. • That is why the command: mt −f devrmt0n bsf 1 does not change a tapes position. The graphical presentation in Figure 12.1 should contribute to a better understanding of this issue. 298