aboutsummaryrefslogtreecommitdiff
path: root/man/man1/vac.1
blob: d8c512eeabb010761d850955f2ee09722c05688d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
.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)