Blob Blame History Raw
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
[
  <!-- entities files to use -->
  <!ENTITY % global_entities SYSTEM 'global.entities'>
  %global_entities;
]>

<refentry id='amvault.8'>
<refmeta>
<refentrytitle>amvault</refentrytitle>
<manvolnum>8</manvolnum>
&rmi.source;
&rmi.version;
&rmi.manual.8;
</refmeta>
<refnamediv>
<refname>amvault</refname>
<refpurpose>Copy Amanda dumps from one volume to another</refpurpose>
</refnamediv>
<refentryinfo>
&author.dustin;
</refentryinfo>
<!-- body begins here -->
<refsynopsisdiv>
<cmdsynopsis>
  <command>amvault</command>
    &configoverride.synopsis;
    <group choice='opt'><arg choice='plain'>--dry-run</arg><arg choice='plain'>-n</arg></group>
    <group choice='opt'><arg choice='plain'>--quiet</arg><arg choice='plain'>-q</arg></group>
    <arg choice='opt'>--fulls-only</arg>
    <arg choice='opt'>--latest-fulls</arg>
    <arg choice='opt'>--incrs-only</arg>
    <arg choice='opt'>--exact-match</arg>
    <arg choice='opt'>--export</arg>
    <arg choice='opt'>--no-interactivity</arg>
    <arg choice='opt'><option>--src-timestamp</option>
	<replaceable>src-timestamp</replaceable></arg>
    <sbr/>
    <arg choice='opt'><option>--src-storage</option>
	    <replaceable>src-storage</replaceable></arg>
    <arg choice='opt'><option>--dest-storage</option>
	    <replaceable>dest-storage</replaceable></arg>
    <arg choice='plain'><replaceable>config</replaceable></arg>
    <arg choice='opt'>
      <arg choice='plain'><replaceable>hostname</replaceable></arg>
      <arg choice='opt'>
        <arg choice='plain'><replaceable>disk</replaceable></arg>
        <arg choice='opt'>
          <arg choice='plain'><replaceable>date</replaceable></arg>
          <arg choice='opt'>
            <arg choice='plain'><replaceable>level</replaceable></arg>
            <arg choice='opt'>
              <arg choice='plain'><replaceable>hostname</replaceable></arg>
              <arg choice='opt'>dumpspec...</arg>
            </arg>
          </arg>
        </arg>
      </arg>
    </arg>
</cmdsynopsis>
</refsynopsisdiv>

<refsect1><title>WARNING</title>

<para>This application is not yet in its final form, and is subject to major revision
in subsequent versions of Amanda.  Backward compatibility is not guaranteed.</para>

<para>Note that Amanda restore/recover operations will request tertiary media
by label when dumpfiles are not found on secondary media, but there is no
provision to automatically fetch such media from a different changer</para>

<para>Feedback on and patches to this application are invited and
encouraged!</para>

</refsect1>

<refsect1><title>DESCRIPTION</title>

<para>Amvault is conceptually equivalent to "amfetchdump | taper".  That is, it reads
specified dumps from secondary media and re-writes them on tertiary media.</para>

<para><emphasis remap='B'>Amvault</emphasis> Copies dumps selected by the
specified filters onto volumes on the storage
<option>dest-storage</option>.</para>

<refsect2><title>Secondary Media</title>

<para>The dumps to be read from secondary media can be specified by any
combination of dump specifications, <option>--fulls-only</option>,
<option>--latest-fulls</option>, <option>--incrs-only</option>, and
<option>--src-timestamp</option>.  At least one must be specified, lest
amvault attempt to vault all dumps in the catalog.  See <manref
    name="amanda-match" vol="7"/> for more information on dump
specifications.</para>

<para>Note that the datestamp given in the dumpspec is the
<emphasis>dump</emphasis> datestamp - the run in which the backup was taken
on the Amanda client.  The <option>--src-timestamp</option>, on the other
hand, is the <emphasis>write</emphasis> timestamp - the run in which the
dump was written to secondary media.  The latter option facilitates
duplicating the results of an entire backup run, including any dumps that
might have been flushed from holding disk.</para>

</refsect2>

<refsect2><title>Tertiary Media</title>

<para>The amvault-storage is the default destination storage.</para>

<para>If &amconf; contains the new <amkeyword>part-size</amkeyword>
splitting parameters, then amvault will use them without any additional configuration.
However, if the configuration still uses the old splitting parameters
(<amkeyword>tape_splitsize</amkeyword>,
<amkeyword>split_diskbuffer</amkeyword>, and
<amkeyword>fallback_splitsize</amkeyword>), then amvault will need some
additional configuration in order to properly split dumps to tertiary
media.  To do so, specify a new tapetype in &amconf;, say "TERTIARY",
and set the <amkeyword>part-size</amkeyword> and other appropriate
parameters there.  Then reference that tapetype in the amvault invocation:
<programlisting>
    amvault -otapetype=TERTIARY ...
</programlisting></para>

</refsect2>

</refsect1>

<refsect1><title>OPTIONS</title>
<variablelist remap='TP'>
  <varlistentry>
  <term><option>--dest-storage</option> <replaceable>dest-storage</replaceable></term>
  <listitem>
<para>The vaulted dumps are written to the specified storage.</para>

<para>If the <replaceable>vault-storage</replaceable> option is specified
in &amconf;, amvault will use that storage as the default destination.
If not, a destination storage must be specified on the amvault command
line.</para>
  </listitem>
  </varlistentry>

  <varlistentry>
  <term><option>--dry-run</option></term><term><option>-n</option></term>
  <listitem>
<para>Cause amvault to print the dumps it would vault, but not actually
perform any vaulting operations.</para>
  </listitem>
  </varlistentry>

  <varlistentry>
  <term><option>--exact-match</option></term>
  <listitem>
<para>The host and disk names in the dumpspecs are parsed as exact
values.</para>
  </listitem>
  </varlistentry>

  <varlistentry>
  <term><option>--export</option></term>
  <listitem>
<para>Cause amvault to attempt to move completed tertiary volumes to
import/export slots, where they can be more easily removed by an operator.
</para>
  </listitem>
  </varlistentry>

  <varlistentry>
  <term><option>--fulls-only</option></term>
  <listitem>
<para>Only full (level-0) dumps are copied.</para>
  </listitem>
  </varlistentry>

  <varlistentry>
  <term><option>--incrs-only</option></term>
  <listitem>
<para>Only incremental (level > 0) dumps are copied.</para>
  </listitem>
  </varlistentry>

  <varlistentry>
  <term><option>--latest-fulls</option></term>
  <listitem>
<para>The latest full of every DLE in the disklist that do not have the <amkeyword>skip</amkeyword> <amkeyword>strategy</amkeyword>.</para>
  </listitem>
  </varlistentry>

  <varlistentry>
  <term><option>--no-interactivity</option></term>
  <listitem>
<para>Disable interactivity if a source or destination volume is not
found.</para>
  </listitem>
  </varlistentry>

  <varlistentry>
  <term><option>--quiet</option></term><term><option>-q</option></term>
  <listitem>
<para>Suppress the progress messages normally printed to the terminal
as dumps are being copied.</para>
  </listitem>
  </varlistentry>

  <varlistentry>
  <term><option>--src-labelstr</option> <replaceable>labelstr</replaceable></term>
  <listitem>
<para>Only dumps from volumes matching labelstr are copied.</para>

<para>labelstr is a Perl regular expression, and will be matched as a
substring of the volume labels -- it may be necessary to anchor the
labelstr with "^" and/or "$" in order to prevent undesired partial
matches.</para>

<para>Also note that if a dump is split across multiple volumes and
labelstr matches only one of those volumes, amvault will not select
that dump for copying.  For this reason, it is generally safer to to
select dumps directly using other filters, in which case amvault will
be able to retrieve parts of split dumps from whatever volume they were
originally written to.</para>
  </listitem>
  </varlistentry>

  <varlistentry>
  <term><option>--src-storage</option> <replaceable>src-storage</replaceable></term>
  <listitem>
<para>Only dumps found on the specified storage are copied.
(If this option is not given, all available source storages will be
searched.)</para>
  </listitem>
  </varlistentry>

  <varlistentry>
  <term><option>--src-timestamps</option> <replaceable>src-timestamps</replaceable></term>
  <listitem>
<para>Specifies the timestamps in the format 'YYYYMMDDHHMMSS' of the run to
vault, can be "latest", then the most recent amdump or amflush run will be
used.</para>
  </listitem>
  </varlistentry>

 <varlistentry>
  <term><option>-o</option> <replaceable>configoption</replaceable></term>
  <listitem>
<para>See the "<emphasis remap='B'>CONFIGURATION OVERRIDE</emphasis>"
 section in <manref name="amanda" vol="8"/>.</para>
  </listitem>
  </varlistentry>

</variablelist>


</refsect1>

<refsect1><title>EXAMPLES</title>

<para>Vault all dump written to tape in the latest amdump or amflush run:</para>
<programlisting>
$ amvault --src-timestamps latest CONF
</programlisting>

<para>Vault all dump written on the run of December 7 2011 12:13:14 :</para>
<programlisting>
$ amvault --src-timestamps 20111207121314 CONF
</programlisting>

<para>Vault all dump dumped on any run of December 7 2011:</para>
<programlisting>
$ amvault CONF \* \* 20111207
</programlisting>

</refsect1>

<seealso>
<manref name="amanda-changers" vol="7"/>
<manref name="amfetchdump" vol="8"/>
</seealso>

</refentry>