[BACK]Return to xfsrestore.html CVS log [TXT][DIR] Up to [Development] / xfs-website.orig / manpages

File: [Development] / xfs-website.orig / manpages / xfsrestore.html (download) (as text)

Revision 1.4, Thu Jan 25 19:55:31 2001 UTC (16 years, 9 months ago) by xfs
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +420 -257 lines

Man pages update.

<html>
<head>
<meta name="Content-Style" content="text/css">
</head>
<body>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#NOTES">NOTES</a><br>
<a href="#Cumulative Restoration">Cumulative Restoration</a><br>
<a href="#Media Management">Media Management</a><br>
<a href="#Inventory">Inventory</a><br>
<a href="#Media Errors">Media Errors</a><br>
<a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
<a href="#BUGS">BUGS</a><br>
<!-- Creator     : groff version 1.16.1  -->
<!-- CreationDate: Wed Jan 24 01:42:52 2001
 -->
<!-- Total number of pages: 5 -->
<!-- Page: 1 -->
<!-- left  margin: 220 -->
<!-- right margin: 750 -->
<a name="NAME"></a><h2>NAME</h2><p style="margin-left: 18%"><font size=3>xfsrestore - XFS filesystem incremental restore utility</font></p>
<a name="SYNOPSIS"></a><h2>SYNOPSIS</h2><p style="margin-left: 18%"><font size=3><B>xfsrestore</B></font> <font size=3>[</font> <font size=3><B>-a</B></font> <font size=3>housekeeping ] [</font> <font size=3><B>-b</B></font> <font size=3>blocksize ]</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="22%">
</p>
</td>
<td valign="top" align="left" width="77%">
<p><font size=3>[</font> <font size=3><B>-c</B></font> <font size=3>media_change_alert_program ] [</font> <font size=3><B>&shy;e</B></font> <font size=3>]</font></p>
</td>
</tr>
</table>

<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="22%">
</p>
</td>
<td valign="top" align="left" width="77%">
<p><font size=3>[</font> <font size=3><B>-f</B></font> <font size=3>source ... ] [</font> <font size=3><B>-i</B></font> <font size=3>] [</font> <font size=3><B>-m</B></font> <font size=3>force usage of minimal tape strategy ]</font></p>
</td>
</tr>
</table>

<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="22%">
</p>
</td>
<td valign="top" align="left" width="77%">
<p><font size=3>[</font> <font size=3><B>-n</B></font> <font size=3>file ] [</font> <font size=3><B>-o</B></font> <font size=3>] [</font> <font size=3><B>-p</B></font> <font size=3>report_interval ] [</font> <font size=3><B>-r</B></font> <font size=3>]</font></p>
</td>
</tr>
</table>

<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="22%">
</p>
</td>
<td valign="top" align="left" width="77%">
<p><font size=3>[</font> <font size=3><B>-s</B></font> <font size=3>subtree ... ] [</font> <font size=3><B>-t</B></font> <font size=3>] [</font> <font size=3><B>-v</B></font> <font size=3>verbosity ] [</font> <font size=3><B>-A</B></font> <font size=3>] [</font> <font size=3><B>-D</B></font> <font size=3>]</font></p>
</td>
</tr>
</table>

<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="22%">
</p>
</td>
<td valign="top" align="left" width="77%">
<p><font size=3>[</font> <font size=3><B>-E</B></font> <font size=3>] [</font> <font size=3><B>-F</B></font> <font size=3>] [</font> <font size=3><B>-I</B></font> <font size=3>[ subopt=value ... ] ] [</font> <font size=3><B>-J</B></font> <font size=3>] [</font> <font size=3><B>-L</B></font> <font size=3>session_label ]</font></p>
</td>
</tr>
</table>

<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="22%">
</p>
</td>
<td valign="top" align="left" width="77%">
<p><font size=3>[</font> <font size=3><B>-O</B></font> <font size=3>options_file ] [</font> <font size=3><B>-Q</B></font> <font size=3>] [</font> <font size=3><B>-R</B></font> <font size=3>] [</font> <font size=3><B>-S</B></font> <font size=3>session_id ] [</font> <font size=3><B>-T</B></font> <font size=3>]</font></p>
</td>
</tr>
</table>

<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="22%">
</p>
</td>
<td valign="top" align="left" width="77%">
<p><font size=3>[</font> <font size=3><B>-Y</B></font> <font size=3>io_ring_length ] [</font> <font size=3><B>-</B></font> <font size=3>] destination</font></p>
</td>
</tr>
</table>
</p>
<a name="DESCRIPTION"></a><h2>DESCRIPTION</h2><p style="margin-left: 18%"><font size=3><I>xfsrestore</I></font> <font size=3>restores filesystems from dumps produced by</font> <font size=3><I>xfsdump</I></font><font size=3>(8). Two modes of operation are available: simple and cumulative.</font></p>
<p style="margin-left: 18%"><font size=3>The default is simple mode.</font> <font size=3><I>xfsrestore</I></font> <font size=3>populates the specified destination directory,</font> <font size=3><I>destination</I></font><font size=3>, with the files contained in the dump media.</font></p>
<p style="margin-left: 18%"><font size=3>The</font> <font size=3><B>-r</B></font> <font size=3>option specifies the cumulative mode. Successive invocations of</font> <font size=3><I>xfsrestore</I></font> <font size=3>are used to apply a chronologically ordered sequence of delta dumps to a base (level 0) dump. The contents of the filesystem at the time each dump was produced is reproduced. This can involve adding, deleting, renaming, linking, and unlinking files and directories.</font></p>
<p style="margin-left: 18%"><font size=3>A delta dump is defined as either an incremental dump (</font><font size=3><I>xfsdump</I></font> <font size=3><B>-l</B></font> <font size=3>option with level &gt; 0) or a resumed dump (</font><font size=3><I>xfsdump</I></font> <font size=3><B>-R</B></font> <font size=3>option). The deltas must be applied in the order they were produced. Each delta applied must have been produced with the previously applied delta as its base.</font></p>
<p style="margin-left: 18%"><font size=3><B>-a</B></font> <font size=3><I>housekeeping</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Each invocation of</font> <font size=3><I>xfsrestore</I></font> <font size=3>creates a directory called</font> <font size=3><I>xfsrestorehousekeepingdir</I></font><font size=3>. This directory is normally created directly under the</font> <font size=3><I>destination</I></font> <font size=3>directory. The</font> <font size=3><B>-a</B></font> <font size=3>option allows the operator to specify an alternate directory,</font> <font size=3><I>housekeeping</I></font><font size=3>, in which</font> <font size=3><I>xfsrestore</I></font> <font size=3>creates the</font> <font size=3><I>xfsrestorehousekeeping</I></font> <font size=3>directory. When performing a cumulative (</font><font size=3><B>-r</B></font> <font size=3>option) restore, each successive invocation of</font> <font size=3><I>xfsrestore</I></font> <font size=3>must specify the same alternate directory.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><B>-b</B></font> <font size=3><I>blocksize</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Specifies the blocksize to be used for the restore. For other drives such as DAT or 8 mm , the same blocksize used for the xfsdump operation must be specified to restore the tape. The default block size is 1Mb.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><B>-c</B></font> <font size=3><I>media_change_alert_program</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Use the specified program to alert the operator when a media change is required. The alert program is typically a script to send a mail or flash a window to draw the operator's attention.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><B>-e</B></font> <font size=3>Prevents</font> <font size=3><I>xfsrestore</I></font> <font size=3>from overwriting existing files in the</font> <font size=3><I>destination</I></font> <font size=3>directory.</font></p>
<p style="margin-left: 18%"><font size=3><B>-f</B></font> <font size=3><I>source</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Specifies a source of the dump to be restored. This can be the pathname of a device (such as a tape drive), a regular file or a remote tape drive (see</font> <font size=3><I>rmt</I></font><font size=3>(8)). This option must be omitted if the standard input option (a lone</font> <font size=3><B>-</B></font> <font size=3>preceding the</font> <font size=3><I>destination</I></font> <font size=3>specification) is specified.</font></p>
</td>
</tr>
</table>

<table width="98%" rules="none" frame="none" cols="3" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</p>
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-i</B></font></p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Selects interactive operation. Once the on&shy;media directory hierarchy has been read, an interactive dialogue is begun. The operator uses a small set of commands to peruse the directory hierarchy, selecting files and subtrees for extraction. The available commands are given below. Initially nothing is selected, except for those subtrees specified with</font> <font size=3><B>-s</B></font> <font size=3>command line options.</font></p>
<p><font size=3><B>ls</B></font> <font size=3>[</font><font size=3><I>arg</I></font><font size=3>] List the entries in the current directory or the specified directory, or the<br>
<span style=" text-indent: 13%;"></span>specified non&shy;directory file entry. Both the entry's original inode<br>
<span style=" text-indent: 13%;"></span>number and name are displayed. Entries that are directories are<br>
<span style=" text-indent: 13%;"></span>appended with a `/'. Entries that have been selected for extraction are<br>
<span style=" text-indent: 13%;"></span>prepended with a `*'.</font></p>
<p><font size=3><B>cd</B></font> <font size=3>[</font><font size=3><I>arg</I></font><font size=3>] Change the current working directory to the specified argument, or to<br>
<span style=" text-indent: 13%;"></span>the filesystem root directory if no argument is specified.</font></p>
</td>
</tr>
</table>
<br>
</p>

<!-- Page: 2  -->
<!-- left  margin: 220 -->
<!-- right margin: 750 -->

<table width="99%" rules="none" frame="none" cols="3" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</td>
<td valign="top" align="left" width="13%">
<p><font size=3><B>pwd</B></font></p>
</td>
<td valign="top" align="left" width="63%">
<p><font size=3>Print the pathname of the current directory, relative to the filesystem root.</font></p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</td>
<td valign="top" align="left" width="13%">
<p><font size=3><B>add</B></font> <font size=3>[</font><font size=3><I>arg</I></font><font size=3>]</font></p>
</td>
<td valign="top" align="left" width="63%">
<p><font size=3>The current directory or specified file or directory within the current directory is selected for extraction. If a directory is specified, then it and all its descendents are selected. Entries that are selected for extraction are prepended with a `*' when they are listed by</font> <font size=3><B>ls</B></font><font size=3>.</font></p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</td>
<td valign="top" align="left" width="13%">
<p><font size=3><B>delete</B></font> <font size=3>[</font><font size=3><I>arg</I></font><font size=3>]</font></p>
</td>
<td valign="top" align="left" width="63%">
<p><font size=3>The current directory or specified file or directory within the current directory is deselected for extraction. If a directory is specified, then it and all its descendents are deselected. The most expedient way to extract most of the files from a directory is to select the directory and then deselect those files that are not needed.</font></p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</td>
<td valign="top" align="left" width="13%">
<p><font size=3><B>extract</B></font></p>
</td>
<td valign="top" align="left" width="63%">
<p><font size=3>Ends the interactive dialogue, and causes all selected subtrees to be restored.</font></p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</td>
<td valign="top" align="left" width="13%">
<p><font size=3><B>quit</B></font></p>
</td>
<td valign="top" align="left" width="63%">
<p><font size=3><I>xfsrestore</I></font> <font size=3>ends the interactive dialogue and immediately exits, even if there are files or subtrees selected for extraction.</font></p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</td>
<td valign="top" align="left" width="13%">
<p><font size=3><B>help</B></font></p>
</td>
<td valign="top" align="left" width="63%">
<p><font size=3>List a summary of the available commands.</font></p>
</td>
</tr>
</table>
<p style="margin-left: 18%"><font size=3><B>-m</B></font> <font size=3>Use the minimal tape protocol. This option cannot be used without specifying a<br>
<span style=" text-indent: 4%;"></span>blocksize to be used (see</font> <font size=3><B>-b</B></font> <font size=3>option above).</font></p>
<p style="margin-left: 18%"><font size=3><B>-n</B></font> <font size=3><I>file</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Allows</font> <font size=3><I>xfsrestore</I></font> <font size=3>to restore only files newer than</font> <font size=3><I>file</I></font><font size=3>. The modification time of</font> <font size=3><I>file</I></font> <font size=3>(i.e., as displayed with the</font> <font size=3><B>ls &shy;l</B></font> <font size=3>command) is compared to the inode modification time of each file on the source media (i.e., as displayed with the</font> <font size=3><B>ls &shy;lc</B></font> <font size=3>command). A file is restored from media only if its inode modification time is greater than or equal to the modification time of</font> <font size=3><I>file</I></font><font size=3>.</font></p>
</td>
</tr>
</table>

<table width="98%" rules="none" frame="none" cols="3" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</p>
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-o</B></font></p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Restore file and directory owner/group even if not root. When run with an effective user id of root,</font> <font size=3><I>xfsrestore</I></font> <font size=3>restores owner and group of each file and directory. When run with any other effective user id it does not, unless this option is specified.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><B>-p</B></font> <font size=3><I>report_interval</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Causes progress reports to be printed at intervals of</font> <font size=3><I>report_interval</I></font> <font size=3>seconds. The interval value is approximate,</font> <font size=3><I>xfsrestore</I></font> <font size=3>will delay progress reports to avoid undue processing overhead.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><B>-r</B></font> <font size=3>Selects the cumulative mode of operation.</font></p>
<p style="margin-left: 18%"><font size=3><B>-s</B></font> <font size=3><I>subtree</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Specifies a subtree to restore. Any number of</font> <font size=3><B>-s</B></font> <font size=3>options are allowed. The restore is constrained to the union of all subtrees specified. Each subtree is specified as a pathname relative to the restore</font> <font size=3><I>destination</I></font><font size=3>. If a directory is specified, the directory and all files beneath that directory are restored.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><B>-t</B></font> <font size=3>Displays the contents of the dump, but does not create or modify any files or directories.<br>
<span style=" text-indent: 4%;"></span>It may be desirable to set the verbosity level to</font> <font size=3><B>silent</B></font> <font size=3>when using this option.</font></p>
<p style="margin-left: 18%"><font size=3><B>-v</B></font> <font size=3><I>verbosity_level</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Specifies the level of detail of the messages displayed during the course of the restore. The argument can be</font> <font size=3><B>silent</B></font><font size=3>,</font> <font size=3><B>verbose</B></font><font size=3>, or</font> <font size=3><B>trace</B></font><font size=3>. The default is</font> <font size=3><B>verbose</B></font><font size=3>.</font></p>
</td>
</tr>
</table>

<table width="98%" rules="none" frame="none" cols="3" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</p>
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-A</B></font></p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Do not restore extended file attributes. If this option is not specified, extended file attributes are restored. Note that dumping of extended file attributes is also optional.</font></p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-D</B></font></p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Restore DMAPI (Data Management Application Programming Interface) event settings.</font> <font size=3><I>xfsdump</I></font> <font size=3>backs backs up these settings, but it is usually not desirable to restore them. However, the current implementation in Linux does not yet support the</font> <font size=3><B>-D</B></font> <font size=3>option.</font></p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-E</B></font></p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Prevents</font> <font size=3><I>xfsrestore</I></font> <font size=3>from overwriting newer versions of files. The inode modification time of the on&shy;media file is compared to the inode modification time of corresponding file in the</font> <font size=3><I>destination</I></font> <font size=3>directory. The file is restored only if the on&shy;media version is newer than the version in the</font> <font size=3><I>destination</I></font> <font size=3>directory. The inode modification time of a file can be displayed with the</font> <font size=3><B>ls &shy;lc</B></font> <font size=3>command.</font></p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-F</B></font></p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Inhibit interactive operator prompts. This option inhibits</font> <font size=3><I>xfsrestore</I></font> <font size=3>from prompting the operator for verification of the selected dump as the restore target and from prompting for any media change.</font></p>
</td>
</tr>
</table>
<br>
</p>

<!-- Page: 3  -->
<!-- left  margin: 220 -->
<!-- right margin: 750 -->

<table width="98%" rules="none" frame="none" cols="3" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-I</B></font></p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Causes the</font> <font size=3><I>xfsdump</I></font> <font size=3>inventory to be displayed (no restore is performed). Each time</font> <font size=3><I>xfsdump</I></font> <font size=3>is used, an online inventory in</font> <font size=3><I>/var/xfsdump/inventory</I></font> <font size=3>is updated. This is used to determine the base for incremental dumps. It is also useful for manually identifying a dump session to be restored (see the</font> <font size=3><B>-L</B></font> <font size=3>and</font> <font size=3><B>-S</B></font> <font size=3>options). Suboptions to filter the inventory display are described later.</font></p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-J</B></font></p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Inhibits inventory update when on&shy;media session inventory encountered during restore.</font> <font size=3><I>xfsrestore</I></font> <font size=3>opportunistically updates the online inventory when it encounters an on&shy;media session inventory, but only if run with an effective user id of root and only if this option is not given.</font></p>
</td>
</tr>
</table>
<p style="margin-left: 18%"><font size=3><B>-L</B></font> <font size=3><I>session_label</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Specifies the label of the dump session to be restored. The source media is searched for this label. It is any arbitrary string up to 255 characters long. The label of the desired dump session can be copied from the inventory display produced by the</font> <font size=3><B>-I</B></font> <font size=3>option.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><B>-O</B></font> <font size=3><I>options_file</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Insert the options contained in</font> <font size=3><I>options_file</I></font> <font size=3>into the beginning of the command line. The options are specified just as they would appear if typed into the command line. In addition, newline characters (n) can be used as whitespace. The options are placed before all options actually given on the command line, just after the command name. Only one</font> <font size=3><B>-O</B></font> <font size=3>option can be used. Recursive use is ignored. The destination directory cannot be specified in</font> <font size=3><I>options_file</I></font><font size=3>.</font></p>
</td>
</tr>
</table>

<table width="98%" rules="none" frame="none" cols="3" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</p>
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-Q</B></font></p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Force completion of an interrupted restore session. This option is required to work around one specific pathological scenario. When restoring a dump session which was interrupted due to an EOM condition and no online session inventory is available,</font> <font size=3><I>xfsrestore</I></font> <font size=3>cannot know when the restore of that dump session is complete. The operator is forced to interrupt the restore session. In that case, if the operator tries to subsequently apply a resumed dump (using the</font> <font size=3><B>-r</B></font> <font size=3>option),</font> <font size=3><I>xfsrestore</I></font> <font size=3>refuses to do so. The operator must tell</font> <font size=3><I>xfsrestore</I></font> <font size=3>to consider the base restore complete by using this option when applying the resumed dump.</font></p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-R</B></font></p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Resume a previously interrupted restore.</font> <font size=3><I>xfsrestore</I></font> <font size=3>can be interrupted at any time by pressing the terminal interrupt character (see</font> <font size=3><I>stty</I></font><font size=3>(1)). Use this option to resume the restore. The</font> <font size=3><B>-a</B></font> <font size=3>and</font> <font size=3><I>destination</I></font> <font size=3>options must be the same.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><B>-S</B></font> <font size=3><I>session_id</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Specifies the session UUID of the dump session to be restored. The source media is searched for this UUID. The UUID of the desired dump session can be copied from the inventory display produced by the</font> <font size=3><B>-I</B></font> <font size=3>option.</font></p>
</td>
</tr>
</table>

<table width="98%" rules="none" frame="none" cols="4" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</p>
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-T</B></font></p>
</td>
<td valign="top" align="left" width="36%">
<p><font size=3>Inhibits interactive dialogue timeouts.<br>
changes. This dialogue normally times<br>
prevents the timeout.</font></p>
</td>
<td valign="top" align="left" width="40%">
<p><font size=3><I>xfsrestore</I></font> <font size=3>prompts the operator for media out if no response is supplied. This option</font></p>
</td>
</tr>
</table>
 <font size=3><B>-X</B></font> <font size=3><I>subtree</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Specifies a subtree to exclude. This is the converse of the</font> <font size=3><B>-s</B></font> <font size=3>option. Any number of</font> <font size=3><B>-X</B></font> <font size=3>options are allowed. Each subtree is specified as a pathname relative to the restore</font> <font size=3><I>destination</I></font><font size=3>. If a directory is specified, the directory and all files beneath that directory are excluded.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><B>-Y</B></font> <font size=3><I>io_ring_length</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Specify I/O buffer ring length.</font> <font size=3><I>xfsrestore</I></font> <font size=3>uses a ring of input buffers to achieve maximum throughput when restoring from tape drives. The default ring length is 3. However, this is only supported when running multi&shy;threaded which has not been done for Linux yet &shy; making this option benign.</font></p>
</td>
</tr>
</table>

<table width="98%" rules="none" frame="none" cols="3" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</p>
</td>
<td valign="top" align="left" width="4%">
<p><font size=3><B>-</B></font></p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>A lone</font> <font size=3><B>-</B></font> <font size=3>causes the standard input to be read as the source of the dump to be restored. Standard input can be a pipe from another utility (such as</font> <font size=3><I>xfsdump</I></font><font size=3>(8)) or a redirected file. This option cannot be used with the</font> <font size=3><B>-f</B></font> <font size=3>option. The</font> <font size=3><B>-</B></font> <font size=3>must follow all other options, and precede the</font> <font size=3><I>destination</I></font> <font size=3>specification.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3>The dumped filesystem is restored into the</font> <font size=3><I>destination</I></font> <font size=3>directory. There is no default; the</font> <font size=3><I>destination</I></font> <font size=3>must be specified.</font></p>
<a name="NOTES"></a><h2>NOTES</h2>
<!-- Page: 4  -->
<!-- left  margin: 220 -->
<!-- right margin: 750 -->
<a name="Cumulative Restoration"></a><h2>Cumulative Restoration</h2><p style="margin-left: 16%"><font size=3>A base (level 0) dump and an ordered set of delta dumps can be sequentially restored, each on top of the previous, to reproduce the contents of the original filesystem at the time the last delta was produced. The operator invokes</font> <font size=3><I>xfsrestore</I></font> <font size=3>once for each dump. The</font> <font size=3><B>-r</B></font> <font size=3>option must be specified. The</font> <font size=3><I>destination</I></font> <font size=3>directory must be the same for all invocations. Each invocation leaves a directory named</font> <font size=3><I>xfsrestorehousekeeping</I></font> <font size=3>in the</font> <font size=3><I>destination</I></font> <font size=3>directory (however, see the</font> <font size=3><B>-a</B></font> <font size=3>option above). This directory contains the state information that must be communicated between invocations. The operator must remove this directory after the last delta has been applied.</font></p>
<p style="margin-left: 16%"><font size=3><I>xfsrestore</I></font> <font size=3>also generates a directory named</font> <font size=3><I>orphanage</I></font> <font size=3>in the</font> <font size=3><I>destination</I></font> <font size=3>directory.</font> <font size=3><I>xfsrestore</I></font> <font size=3>removes this directory after completing a simple restore. However, if</font> <font size=3><I>orphanage</I></font> <font size=3>is not empty, it is not removed. This can happen if files present on the dump media are not referenced by any of the restored directories. The</font> <font size=3><I>orphanage</I></font> <font size=3>has an entry for each such file. The entry name is the file's original inode number, a &quot;.&quot;, and the file's generation count modulo 4096 (only the lower 12 bits of the generation count are used).</font></p>
<p style="margin-left: 16%"><font size=3><I>xfsrestore</I></font> <font size=3>does not remove the</font> <font size=3><I>orphanage</I></font> <font size=3>after cumulative restores. Like the</font> <font size=3><I>xfsrestorehousekeeping</I></font> <font size=3>directory, the operator must remove it after applying all delta dumps.</font></p>
<a name="Media Management"></a><h2>Media Management</h2><p style="margin-left: 16%"><font size=3>A dump consists of one or more media files contained on one or more media objects. A media file contains all or a portion of the filesystem dump. Large filesystems are broken up into multiple media files to minimize the impact of media dropouts, and to accommodate media object boundaries (end&shy;of&shy;media).</font></p>
<p style="margin-left: 16%"><font size=3>A media object is any storage medium: a tape cartridge, a remote tape device (see</font> <font size=3><I>rmt</I></font><font size=3>(8)), a regular file, or the standard input (currently other removable media drives are not supported). Tape cartridges can contain multiple media files, which are typically separated by (in tape parlance) file marks. If a dump spans multiple media objects, the restore must begin with the media object containing the first media file dumped. The operator is prompted when the next media object is needed.</font></p>
<p style="margin-left: 16%"><font size=3>Media objects can contain more than one dump. The operator can select the desired dump by specifying the dump label (</font><font size=3><B>-L</B></font> <font size=3>option), or by specifying the dump UUID (</font><font size=3><B>-S</B></font> <font size=3>option). If neither is specified,</font> <font size=3><I>xfsrestore</I></font> <font size=3>scans the entire media object, prompting the operator as each dump session is encountered.</font></p>
<p style="margin-left: 16%"><font size=3>The inventory display (</font><font size=3><B>-I</B></font> <font size=3>option) is useful for identifying the media objects required. It is also useful for identifying a dump session. The session UUID can be copied from the inventory display to the</font> <font size=3><B>-S</B></font> <font size=3>option argument to unambiguously identify a dump session to be restored.</font></p>
<p style="margin-left: 16%"><font size=3>Dumps placed in regular files or the standard output do not span multiple media objects, nor do they contain multiple dumps.</font></p>
<a name="Inventory"></a><h2>Inventory</h2><p style="margin-left: 16%"><font size=3>Each dump session updates an inventory database in</font> <font size=3><I>/var/xfsdump/inventory</I></font><font size=3>. This database can be displayed by invoking</font> <font size=3><I>xfsrestore</I></font> <font size=3>with the</font> <font size=3><B>-I</B></font> <font size=3>option. The display uses tabbed indentation to present the inventory hierarchically. The first level is filesystem. The second level is session. The third level is media stream (currently only one stream is supported). The fourth level lists the media files sequentially composing the stream.</font></p>
<p style="margin-left: 16%"><font size=3>The following suboptions are available to filter the display.</font> <font size=3><B>-I depth=</B></font><font size=3><I>n</I></font> <font size=3>(where</font> <font size=3><I>n</I></font> <font size=3>is 1, 2, or 3) limits the hierarchical depth of the display. When</font> <font size=3><I>n</I></font> <font size=3>is 1, only the filesystem information from the inventory is displayed. When</font> <font size=3><I>n</I></font> <font size=3>is 2, only filesystem and session information are displayed. When</font> <font size=3><I>n</I></font> <font size=3>is 3, only filesystem, session and stream information are displayed.</font> <font size=3><B>-I level=</B></font><font size=3><I>n</I></font> <font size=3>(where</font> <font size=3><I>n</I></font> <font size=3>is the dump level) limits the display to dumps of that particular dump level.</font></p>
<p style="margin-left: 16%"><font size=3>The display may be restricted to media files contained in a specific media object.</font> <font size=3><B>-I mobjid=</B></font><font size=3><I>value</I></font> <font size=3>(where</font> <font size=3><I>value</I></font> <font size=3>is a media ID) specifies the media object by its media ID.</font> <font size=3><B>-I mobjlabel=</B></font><font size=3><I>value</I></font> <font size=3>(where</font> <font size=3><I>value</I></font> <font size=3>is a media label) specifies the media object by its media label. Similarly, the display can be restricted to a specific filesystem.</font> <font size=3><B>-I mnt=</B></font><font size=3><I>host&shy;qualified_mount_point_pathname</I></font> <font size=3>(that is, hostname:pathname), identifies the filesystem by mountpoint.</font> <font size=3><B>-I fsid=</B></font><font size=3><I>filesystem_id</I></font> <font size=3>identifies the filesystem by filesystem ID.</font> <font size=3><B>-I dev=</B></font><font size=3><I>host&shy;qualified_device_pathname</I></font> <font size=3>(that is, hostname:device_pathname) identifies the filesystem by device.</font><br>
</p>

<!-- Page: 5  -->
<!-- left  margin: 220 -->
<!-- right margin: 750 -->
<p style="margin-left: 16%"><font size=3>More than one of these suboptions, separated by commas, may be specified at the same time to limit the display of the inventory to those dumps of interest. However, at most four suboptions can be specified at once: one to constrain the display hierarchy depth, one to constrain the dump level, one to constrain the media object, and one to constrain the filesystem.</font></p>
<p style="margin-left: 16%"><font size=3>For example,</font> <font size=3><B>-I depth=1,mobjlabel=&quot;tape 1&quot;,mnt=host1:/test_mnt</B></font> <font size=3>would display only the filesystem information (depth=1) for those filesystems that were mounted on</font> <font size=3><I>host1:/test_mnt</I></font> <font size=3>at the time of the dump, and only those filesystems dumped to the media object labeled &quot;tape 1&quot;.</font></p>
<p style="margin-left: 16%"><font size=3>Dump records may be removed (pruned) from the inventory using the</font> <font size=3><I>xfsinvutil</I></font> <font size=3>program.</font></p>
<p style="margin-left: 16%"><font size=3>An additional media file is placed at the end of each dump stream. This media file contains the inventory information for the current dump session. This is currently unused.</font></p>
<a name="Media Errors"></a><h2>Media Errors</h2><p style="margin-left: 16%"><font size=3><I>xfsdump</I></font> <font size=3>is tolerant of media errors, but cannot do error correction. If a media error occurs in the body of a media file, the filesystem file represented at that point is lost. The bad portion of the media is skipped, and the restoration resumes at the next filesystem file after the bad portion of the media.</font></p>
<p style="margin-left: 16%"><font size=3>If a media error occurs in the beginning of the media file, the entire media file is lost. For this reason, large dumps are broken into a number of reasonably sized media files. The restore resumes with the next media file.</font></p>
<a name="FILES"></a><h2>FILES</h2><p style="margin-left: 18%"><font size=3>/var/xfsdump/inventory dump inventory database</font></p>
<a name="SEE ALSO"></a><h2>SEE ALSO</h2><p style="margin-left: 18%"><font size=3>rmt(8), xfsdump(8), xfsinvutil(8), attr_set(2).</font></p>
<a name="DIAGNOSTICS"></a><h2>DIAGNOSTICS</h2><p style="margin-left: 18%"><font size=3>The exit code is 0 on normal completion, and non&shy;zero if an error occurred or the restore was terminated by the operator.</font></p>
<a name="BUGS"></a><h2>BUGS</h2><p style="margin-left: 18%"><font size=3>Pathnames of restored non&shy;directory files (relative to the</font> <font size=3><I>destination</I></font> <font size=3>directory) must be 1023 characters (MAXPATHLEN) or less. Longer pathnames are discarded and a warning message displayed.</font></p>
<p style="margin-left: 18%"><font size=3>There is no verify option to</font> <font size=3><I>xfsrestore</I></font><font size=3>. This would allow the operator to compare a filesystem dump to an existing filesystem, without actually doing a restore.</font></p>
<p style="margin-left: 18%"><font size=3>The interactive commands (</font><font size=3><B>-i</B></font> <font size=3>option) do not understand regular expressions.</font></p>
<p style="margin-left: 18%"><font size=3><I>xfsrestore</I></font> <font size=3>uses the alert program only when a media change is required.</font></p>
<p style="margin-left: 18%"><font size=3>Cumulative mode (</font><font size=3><B>-r</B></font> <font size=3>option) requires that the operator invoke</font> <font size=3><I>xfsrestore</I></font> <font size=3>for the base and for each delta to be applied in sequence to the base. It would be better to allow the operator to identify the last delta in the sequence of interest, and let</font> <font size=3><I>xfsrestore</I></font> <font size=3>work backwards from that delta to identify and apply the preceding deltas and base dump, all in one invocation.</font><br>
</p>
</body>
</html>