| .TH VAC 1 |
| .SH NAME |
| vac \- create 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 ... |
| .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 |
| Option to |
| .I vac |
| 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. |
| .SH SOURCE |
| .B \*9/src/cmd/vac |
| .SH "SEE ALSO" |
| Plan 9's \fIvacfs\fR(4) and \fIventi\fR(8) |