1 35ed6913 2005-07-13 devnull .TH VBACKUP 8
3 cea719ac 2005-07-18 devnull vbackup, vcat, vftp, vmount, vnfs \-
4 35ed6913 2005-07-13 devnull back up Unix file systems to Venti
5 35ed6913 2005-07-13 devnull .SH SYNOPSIS
6 35ed6913 2005-07-13 devnull .B vbackup
38 35ed6913 2005-07-13 devnull .B vmount
47 3aec33fe 2005-07-18 devnull .B -ELLRVr
55 35ed6913 2005-07-13 devnull .I blocksize
59 35ed6913 2005-07-13 devnull .I cachesize
61 35ed6913 2005-07-13 devnull .I config
62 35ed6913 2005-07-13 devnull .SH DESCRIPTION
63 35ed6913 2005-07-13 devnull These programs back up and restore standard
64 35ed6913 2005-07-13 devnull Unix file system images stored in
65 35ed6913 2005-07-13 devnull .IR venti (8).
66 35ed6913 2005-07-13 devnull Images stored in
68 35ed6913 2005-07-13 devnull are named by
69 35ed6913 2005-07-13 devnull .IR scores ,
70 35ed6913 2005-07-13 devnull which consist of a file system type followed
71 35ed6913 2005-07-13 devnull by a colon and forty hexadecimal digits, as in:
74 35ed6913 2005-07-13 devnull ffs:0123456789abcdef0123456789abcdef01234567
77 35ed6913 2005-07-13 devnull (The hexadecimal data is the SHA1 hash of the Venti
78 35ed6913 2005-07-13 devnull root block representing the file system image.)
80 35ed6913 2005-07-13 devnull These programs expect the environment variable
81 35ed6913 2005-07-13 devnull .B $venti
82 35ed6913 2005-07-13 devnull to be set to the network address of the Venti server to use
83 35ed6913 2005-07-13 devnull (for example,
84 35ed6913 2005-07-13 devnull .B yourhost
86 35ed6913 2005-07-13 devnull .BR tcp!yourhost!venti ).
88 35ed6913 2005-07-13 devnull .I Vbackup
89 35ed6913 2005-07-13 devnull copies the file system stored on
91 35ed6913 2005-07-13 devnull to the Venti server and prints the
92 35ed6913 2005-07-13 devnull score for the newly-stored image.
93 35ed6913 2005-07-13 devnull The argument
95 35ed6913 2005-07-13 devnull should be a disk or disk partition device
96 35ed6913 2005-07-13 devnull that would be appropriate to pass to
97 35ed6913 2005-07-13 devnull .IR mount (8).
99 35ed6913 2005-07-13 devnull The optional argument
100 35ed6913 2005-07-13 devnull .I score
101 35ed6913 2005-07-13 devnull is the score of a previous backup of the disk image.
103 35ed6913 2005-07-13 devnull .I score
104 35ed6913 2005-07-13 devnull is given,
105 35ed6913 2005-07-13 devnull .I vbackup
106 35ed6913 2005-07-13 devnull will not write to Venti any blocks that have not changed
107 35ed6913 2005-07-13 devnull since the previous backup.
108 35ed6913 2005-07-13 devnull This is only a speed optimization: since the blocks are already
109 35ed6913 2005-07-13 devnull stored on Venti they need not be sent to the Venti server again.
111 35ed6913 2005-07-13 devnull The options to
112 35ed6913 2005-07-13 devnull .I vbackup
116 3aec33fe 2005-07-18 devnull Turn on debugging output.
119 3aec33fe 2005-07-18 devnull Trace interactions with Venti server.
121 3aec33fe 2005-07-18 devnull .B -m \fImntname
122 e5e159fd 2005-07-18 devnull Set backup name:
123 3aec33fe 2005-07-18 devnull this name is used in the printed
124 3aec33fe 2005-07-18 devnull .B mount
125 3aec33fe 2005-07-18 devnull command.
126 e5e159fd 2005-07-18 devnull The default is the name returned by
127 e5e159fd 2005-07-18 devnull .I sysname
129 e5e159fd 2005-07-18 devnull .IR getuser (3)).
132 3aec33fe 2005-07-18 devnull No-op mode: do not write any blocks to the server
135 3aec33fe 2005-07-18 devnull Print verbose output.
137 35ed6913 2005-07-13 devnull .B -w \fIn
138 3aec33fe 2005-07-18 devnull Write parallelism: keep
140 3aec33fe 2005-07-18 devnull writes to the server in progress at a time.
142 35ed6913 2005-07-13 devnull .B -s \fIsecs
143 3aec33fe 2005-07-18 devnull Status interval: every
145 3aec33fe 2005-07-18 devnull seconds, print a line tracking progress of the backup.
149 3aec33fe 2005-07-18 devnull .I vbackup
150 3aec33fe 2005-07-18 devnull finishes, it prints a single line of the form
153 3aec33fe 2005-07-18 devnull mount /\fImntname\fL/\fIyyyy\fL/\fImmdd\fL/\fImntpath\fL \fIscore\fL \fIyyyy\fL/\fImmdd\fL/\fIhhmm
156 3aec33fe 2005-07-18 devnull This line is a valid configuration line for
158 3aec33fe 2005-07-18 devnull .RI ( q.v. ).
159 3aec33fe 2005-07-18 devnull .I Mntpath
160 3aec33fe 2005-07-18 devnull is the path on which
162 3aec33fe 2005-07-18 devnull is currently mounted.
165 35ed6913 2005-07-13 devnull writes the named disk image to standard output.
166 35ed6913 2005-07-13 devnull Unused file system blocks are printed zeroed regardless
167 35ed6913 2005-07-13 devnull of their actual content.
169 3aec33fe 2005-07-18 devnull By default,
171 3aec33fe 2005-07-18 devnull will assume that its standard output is seekable
172 3aec33fe 2005-07-18 devnull .RI ( i.e.,
173 3aec33fe 2005-07-18 devnull it has been redirected to a file or disk)
174 3aec33fe 2005-07-18 devnull and seek over unused blocks instead of writing to them.
177 3aec33fe 2005-07-18 devnull option causes
179 3aec33fe 2005-07-18 devnull to zero unused blocks instead.
182 7b14c113 2005-08-11 devnull presents an
183 7b14c113 2005-08-11 devnull .IR ftp (1)-like
184 7b14c113 2005-08-11 devnull interface to a physical or backed-up disk image.
185 7b14c113 2005-08-11 devnull It is used mainly for debugging.
189 7b14c113 2005-08-11 devnull .B vftp>
190 7b14c113 2005-08-11 devnull prompt for a list of commands.
192 35ed6913 2005-07-13 devnull .I Vmount
193 35ed6913 2005-07-13 devnull mounts the NFS service at the network connection
194 35ed6913 2005-07-13 devnull .I address
196 35ed6913 2005-07-13 devnull .IR mountpoint .
197 35ed6913 2005-07-13 devnull On most operating systems,
198 35ed6913 2005-07-13 devnull .I vmount
199 35ed6913 2005-07-13 devnull must be run by the user
200 35ed6913 2005-07-13 devnull .BR root .
203 35ed6913 2005-07-13 devnull serves, using the
204 35ed6913 2005-07-13 devnull NFS version 3 protocol,
205 35ed6913 2005-07-13 devnull one or more disk images in a synthetic tree defined
206 35ed6913 2005-07-13 devnull by the configuration file
207 35ed6913 2005-07-13 devnull .IR config .
209 3aec33fe 2005-07-18 devnull serves both NFS mount protocol
210 3aec33fe 2005-07-18 devnull and NFS protocol
212 35ed6913 2005-07-13 devnull .IR addr
213 35ed6913 2005-07-13 devnull (default
214 3aec33fe 2005-07-18 devnull .BR udp!*!nfs ).
215 35ed6913 2005-07-13 devnull The options are:
218 3aec33fe 2005-07-18 devnull Disable `encrypted' handles.
219 3aec33fe 2005-07-18 devnull By default handles are encrypted with a random key to avoid
220 3aec33fe 2005-07-18 devnull leaking information about the backed-up file systems.
221 3aec33fe 2005-07-18 devnull If encryption is disabled, the NFS handles exposed to the client
222 3aec33fe 2005-07-18 devnull may leak information about the root scores of the disks as well
223 3aec33fe 2005-07-18 devnull as inode numbers.
226 3aec33fe 2005-07-18 devnull Local service only: serve only requests from the loopback interface (127.0.0.1).
229 3aec33fe 2005-07-18 devnull Local service only, with paranoia: serve only requests from loopback,
230 3aec33fe 2005-07-18 devnull and only from the first source port that sends a request.
231 3aec33fe 2005-07-18 devnull This option is intended to be used to make sure that once the local
232 3aec33fe 2005-07-18 devnull host has mounted the service, no other local users can access it.
235 3aec33fe 2005-07-18 devnull Print all NFS and NFS mount RPCs to standard error.
238 3aec33fe 2005-07-18 devnull Print all Venti transactions to standard error.
240 3aec33fe 2005-07-18 devnull .BI -a " addr
241 3aec33fe 2005-07-18 devnull Serve requests on
242 3aec33fe 2005-07-18 devnull .IR addr
243 3aec33fe 2005-07-18 devnull (see above).
245 3aec33fe 2005-07-18 devnull .BI -b " blocksize
246 3aec33fe 2005-07-18 devnull Set block size used by the in-memory venti block cache.
247 3aec33fe 2005-07-18 devnull Must be as large as the maximum block size in any
248 3aec33fe 2005-07-18 devnull file system mentioned in the configuration.
250 3aec33fe 2005-07-18 devnull .BI -c " cachesize
251 3aec33fe 2005-07-18 devnull Set the number of blocks stored by the in-memory venti cache.
254 3aec33fe 2005-07-18 devnull Respond to all requests with a Sun RPC rejection.
255 3aec33fe 2005-07-18 devnull This is useful during debugging.
258 3aec33fe 2005-07-18 devnull .I Config
259 3aec33fe 2005-07-18 devnull is a text file describing the
260 3aec33fe 2005-07-18 devnull backup hierarchy for
262 3aec33fe 2005-07-18 devnull to serve.
263 3aec33fe 2005-07-18 devnull Lines beginning with a sharp
264 3aec33fe 2005-07-18 devnull .RB ( # )
265 3aec33fe 2005-07-18 devnull are ignored.
266 3aec33fe 2005-07-18 devnull The rest of the file is a sequence of commands, one per line.
267 3aec33fe 2005-07-18 devnull The commands are:
269 3aec33fe 2005-07-18 devnull .BI mount " mtpt score time
270 3aec33fe 2005-07-18 devnull Add the file system with the given
271 3aec33fe 2005-07-18 devnull .I score
272 3aec33fe 2005-07-18 devnull to the tree at the mount point
273 3aec33fe 2005-07-18 devnull .IR mtpt .
274 3aec33fe 2005-07-18 devnull The path to the mount point will be created
275 3aec33fe 2005-07-18 devnull if necessary.
277 3aec33fe 2005-07-18 devnull .B /dev/null
278 3aec33fe 2005-07-18 devnull is given as the score, an empty file system is mounted at
279 3aec33fe 2005-07-18 devnull .IR mtpt ,
280 3aec33fe 2005-07-18 devnull excluding
281 3aec33fe 2005-07-18 devnull .IR mtpt 's
282 3aec33fe 2005-07-18 devnull contents from view.
284 3aec33fe 2005-07-18 devnull is the modification time to return for the directory
285 3aec33fe 2005-07-18 devnull .IR mtpt ,
286 3aec33fe 2005-07-18 devnull either a decimal number of seconds since the epoch
287 3aec33fe 2005-07-18 devnull or a string of the form
288 3aec33fe 2005-07-18 devnull .IB yyyy / mmdd / hhmm
289 3aec33fe 2005-07-18 devnull giving the year, month, day, hour, and minute.
290 3aec33fe 2005-07-18 devnull .RI ( Vnfs
291 3aec33fe 2005-07-18 devnull does not use the modification time of the root in order
292 3aec33fe 2005-07-18 devnull to avoid accessing every mounted file system on common
293 3aec33fe 2005-07-18 devnull actions like
296 3aec33fe 2005-07-18 devnull .BR /dump/sys/2005 .)
298 3aec33fe 2005-07-18 devnull .BI allow " ip\fR[\fL/\fImask\fR]
300 3aec33fe 2005-07-18 devnull .BI deny " ip\fR[\fL/\fImask\fR]
301 3aec33fe 2005-07-18 devnull These two commands define access permissions based on IP address.
302 3aec33fe 2005-07-18 devnull The optional
304 3aec33fe 2005-07-18 devnull can be a decimal number (24) or an equivalent IP mask (255.255.255.0).
305 3aec33fe 2005-07-18 devnull Each request is filtered through the rules listed in the configuration file.
306 3aec33fe 2005-07-18 devnull The first rule that matches is used.
308 3aec33fe 2005-07-18 devnull .B allow
311 3aec33fe 2005-07-18 devnull rules are given, the default action is to reject the request.
312 3aec33fe 2005-07-18 devnull In the absence of any rules, the default action is to accept all requests.
314 35ed6913 2005-07-13 devnull .SH EXAMPLES
316 3aec33fe 2005-07-18 devnull Running on the server
317 3aec33fe 2005-07-18 devnull .IR bob ,
318 3aec33fe 2005-07-18 devnull back up the file system stored on
319 3aec33fe 2005-07-18 devnull .BR /dev/da0s1a ,
320 3aec33fe 2005-07-18 devnull which is mounted on
321 3aec33fe 2005-07-18 devnull .BR /home :
324 35ed6913 2005-07-13 devnull % vbackup /dev/da0s1a
325 3aec33fe 2005-07-18 devnull mount /bob/2005/0510/home ffs:0123456789abcdef\fI...\fP 2005/0510/0831
329 35ed6913 2005-07-13 devnull Serve that backup and a few others in a tree reminiscent
330 35ed6913 2005-07-13 devnull of Plan 9's dump file system, but hide each day's contents of
331 35ed6913 2005-07-13 devnull .B /tmp :
334 35ed6913 2005-07-13 devnull % cat config
335 3aec33fe 2005-07-18 devnull mount /bob/2005/0510 ffs:0123456789abcdef\fI...\fP 2005/0510/0829
336 3aec33fe 2005-07-18 devnull mount /bob/2005/0510/home ffs:0123456789abcdef\fI...\fP 2005/0510/0831
337 3aec33fe 2005-07-18 devnull mount /bob/2005/0510/tmp /dev/null 1
338 3aec33fe 2005-07-18 devnull mount /bob/2005/0511 ffs:0123456789abcdef\fI...\fP 2005/0511/0827
339 3aec33fe 2005-07-18 devnull mount /bob/2005/0511/home ffs:0123456789abcdef\fI...\fP 2005/0511/0828
340 3aec33fe 2005-07-18 devnull mount /bob/2005/0511/tmp /dev/null 1
341 3aec33fe 2005-07-18 devnull % vnfs -b 16k -c 1k config
345 35ed6913 2005-07-13 devnull Mount the backups on a client machine using
346 35ed6913 2005-07-13 devnull .IR vmount :
349 35ed6913 2005-07-13 devnull # vmount udp!yourserver!nfs /dump
350 3aec33fe 2005-07-18 devnull # ls /dump/bob/2005
356 3aec33fe 2005-07-18 devnull (Users of fancy shells may need to quote the address argument.)