<head>
<title>vac(1) - Plan 9 from User Space</title>
<meta content="text/html; charset=utf-8" http-equiv=Content-Type>
</head>
<body bgcolor=#ffffff>
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr height=10><td>
<tr><td width=20><td>
<tr><td width=20><td><b>VAC(1)</b><td align=right><b>VAC(1)</b>
<tr><td width=20><td colspan=2>
    <br>
<p><font size=+1><b>NAME     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    vac &ndash; create a vac archive on Venti<br>
    
</table>
<p><font size=+1><b>SYNOPSIS     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <tt><font size=+1>vac</font></tt> [ <tt><font size=+1>&#8722;mqsv</font></tt> ] [ <tt><font size=+1>&#8722;b</font></tt> <i>blocksize</i> ] [ <tt><font size=+1>&#8722;d</font></tt> <i>oldvacfile</i> ] [ <tt><font size=+1>&#8722;e</font></tt> <i>exclude</i>
    ] [ <tt><font size=+1>&#8722;f</font></tt> <i>vacfile</i> ] [ <tt><font size=+1>&#8722;i</font></tt> <i>name</i> ] [ <tt><font size=+1>&#8722;h</font></tt> <i>host</i> ] <i>file ...<br>
    </i>
</table>
<p><font size=+1><b>DESCRIPTION     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <i>Vac</i> creates an archival copy of Plan 9 file trees on Venti. It
    can be used to build a simple backup system. One of the unusual
    properties of Venti is that duplicate blocks are detected and
    coalesced. When <i>vac</i> is used on a file tree that shares data with
    an existing archive, the consumption of storage will be approximately
    equal to an incremental backup. This reduction in storage consumption
    occurs transparently to the user. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    As an optimization, the <tt><font size=+1>&#8722;d</font></tt> and <tt><font size=+1>&#8722;q</font></tt> options, described below, can
    be used to explicitly create an archive relative to an existing
    archive. These options do not change the resulting archive generated
    by <i>vac</i>, but simply reduce the number of write operations to Venti.
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    The output of <i>vac</i> is the hexadecimal representation of the Sha1
    fingerprint of the root of the archive, in this format:<br>
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        <tt><font size=+1>vac:64daefaecc4df4b5cb48a368b361ef56012a4f46<br>
        
        <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
        </font></tt>
        
    </table>
    Option to <i>vac</i> are:<br>
    <tt><font size=+1>&#8722;b</font></tt> <i>blocksize<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        Specifies the block size that data will be broken into. The units
        for the size can be specified by appending <tt><font size=+1>k</font></tt> to indicate kilobytes.
        The default is 8k. The size must be in the range of 512 bytes
        to 52k.<br>
        
    </table>
    <tt><font size=+1>&#8722;d</font></tt> <i>oldvacfile<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        Reduce the number of blocks written to Venti by comparing the
        files to be stored with the contents of an existing <i>vac</i> file tree
        given by <i>oldvacfile</i>.<br>
        
    </table>
    <tt><font size=+1>&#8722;e</font></tt> <i>exclude<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        Do not include the file or directory specified by <i>exclude</i>. This
        option may be repeated multiple times.<br>
        
    </table>
    <tt><font size=+1>&#8722;f</font></tt> <i>vacfile<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        The results of <i>vac</i> are place in <i>vacfile</i>, or the standard output
        if no file is given.<br>
        
    </table>
    <tt><font size=+1>&#8722;i</font></tt> <i>name<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        Include standard input as one of the input files, storing it in
        the archive with the specified <i>name</i>.<br>
        
    </table>
    <tt><font size=+1>&#8722;h</font></tt> <i>host<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        The network address of the Venti server. The default is taken
        from the environment variable <tt><font size=+1>venti</font></tt>.<br>
        
    </table>
    <tt><font size=+1>&#8722;m</font></tt>&nbsp;&nbsp;&nbsp;&nbsp;Expand and merge any <i>vac</i> archives that are found while reading
    the input files. This option is useful for building an archive
    from a collection of existing archives. Each archive is inserted
    into the new archive as if it had been unpacked in the directory
    in which it was found. Multiple archives can be unpacked in
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        a single directory and the contents will be merged. To be detected,
        the archives must end in <tt><font size=+1>.vac</font></tt>. Note, an archive is inserted by
        simply copying the root fingerprint and does not require the archive
        to be unpacked.<br>
        
    </table>
    <tt><font size=+1>&#8722;q</font></tt>&nbsp;&nbsp;&nbsp;&nbsp;Increase the performance of the <tt><font size=+1>&#8722;d</font></tt> option by detecting unchanged
    files based on a match of the files name and other meta data,
    rather than examining the contents of the files.<br>
    <tt><font size=+1>&#8722;s</font></tt>&nbsp;&nbsp;&nbsp;&nbsp;Print out various statistics on standard error.<br>
    <tt><font size=+1>&#8722;v</font></tt>&nbsp;&nbsp;&nbsp;&nbsp;Produce more verbose output on standard error, including the
    name of the files added to the archive and the vac archives that
    are expanded and merged.<br>
    
</table>
<p><font size=+1><b>SOURCE     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <tt><font size=+1>/usr/local/plan9/src/cmd/vac<br>
    </font></tt>
</table>
<p><font size=+1><b>SEE ALSO     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    Plan 9&#8217;s <i>vacfs</i>(4) and <i>venti</i>(8)<br>
    
</table>

<td width=20>
<tr height=20><td>
</table>
<!-- TRAILER -->
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr height=15><td width=10><td><td width=10>
<tr><td><td>
<center>
<a href="../../"><img src="../../dist/spaceglenda100.png" alt="Space Glenda" border=1></a>
</center>
</table>
<!-- TRAILER -->
</body></html>
