.TH VAC 1
.SH NAME
vac, unvac \- create, extract a vac archive on Venti
.SH SYNOPSIS
.B vac
[
.B -mqsv
] [
.B -b
.I blocksize
] [
.B -d
.I oldvacfile
] [
.B -e
.I exclude
] [
.B -f
.I vacfile
] [
.B -i
.I name
] [
.B -h
.I host
]
.I file ...
.PP
.B unvac
[
.B -Tctv
] [
.B -h
.I host
]
.I vacfile
[
.I file ...
]
.SH DESCRIPTION
.I Vac
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
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.
.PP
As an optimization, the 
.B -d
and
.B -q
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
.IR vac ,
but simply reduce the number of write operations to Venti.
.PP
The output of
.I vac
is the hexadecimal representation of the SHA1 fingerprint of the root of the archive, in this format:
.IP
.EX
vac:64daefaecc4df4b5cb48a368b361ef56012a4f46
.EE
.PP
The options are:
.TP
.BI -b " blocksize
Specifies the block size that data will be broken into.
The units for the size can be specified by appending
.L k
to indicate kilobytes.
The default is 8k.
The size must be in the range
of 512 bytes to 52k.
.TP
.BI -d " oldvacfile
Reduce the number of blocks written to Venti by comparing the files to be stored with
the contents of an existing
.I vac
file tree given by
.IR oldvacfile .
.TP
.BI -e " exclude
Do not include the file or directory specified by
.IR exclude .
This option may be repeated multiple times.
.TP
.BI -f " vacfile
The results of 
.I vac
are place in
.IR vacfile ,
or the standard output if no file is given.
.TP
.BI -i " name
Include standard input as one of the input files, storing it in the archive
with the specified
.IR name .
.TP
.BI -h " host
The network address of the Venti server.
The default is taken from the environment variable
.BR venti .
.\" If this variable does not exist, then the default is the
.\" metaname 
.\" .BR $venti ,
.\" which can be configured via
.\" .IR ndb (6).
.TP
.B -m
Expand and merge any
.I vac
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 a single directory and the contents will be merged.  To be detected, the
archives must end in
.LR .vac .
Note, an archive is inserted by simply copying the root fingerprint and does not require
the archive to be unpacked.
.TP
.B -q
Increase the performance of the
.B -d
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.
.TP
.B -s
Print out various statistics on standard error.
.TP
.B -v
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.
.PP
.I Unvac
lists or extracts files stored in the vac archive
.IR vacfile ,
which can be either a vac archive string in the format
given above or the name of a file containing one.
If
.I file
arguments are given, only those files or directories
will be extracted.
The options are:
.TP
.B -T
Set the modification time on extracted files
to the time listed in the archive.
.TP
.B -c
Write extracted files to standard output instead of creating a file.
.TP
.B -t
Print a list of the files to standard output rather than extracting them.
.TP
.B -v
If extracting files, print the name of each file and directory
to standard error.
If listing files, print metadata in addition to the names.
.SH SOURCE
.B \*9/src/cmd/vac
.SH "SEE ALSO"
.IR vacfs (4),
.IR venti (8)
