aboutsummaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-07-13 03:49:41 +0000
committerrsc <devnull@localhost>2005-07-13 03:49:41 +0000
commit004aa293f360ea0f63ec50f5042f8c0fb2831e4f (patch)
treed44b801b47c82861d68d4045acf0bf7129ce6009 /man
parent0c98da8bf8ea51d0288222f6c6ba3c125cf20f46 (diff)
downloadplan9port-004aa293f360ea0f63ec50f5042f8c0fb2831e4f.tar.gz
plan9port-004aa293f360ea0f63ec50f5042f8c0fb2831e4f.tar.bz2
plan9port-004aa293f360ea0f63ec50f5042f8c0fb2831e4f.zip
Dump-like file system backup for Unix, built on Venti.
Diffstat (limited to 'man')
-rw-r--r--man/man1/hist.178
-rw-r--r--man/man1/vbackup.1263
-rw-r--r--man/man1/yesterday.199
3 files changed, 440 insertions, 0 deletions
diff --git a/man/man1/hist.1 b/man/man1/hist.1
new file mode 100644
index 00000000..15e8df09
--- /dev/null
+++ b/man/man1/hist.1
@@ -0,0 +1,78 @@
+.TH HIST 1
+.SH NAME
+hist \- print file names from the dump
+.SH SYNOPSIS
+.B hist
+[
+.B -vdu
+] [
+.B -s
+.I yyyymmdd
+]
+.I files ...
+.SH DESCRIPTION
+.I Hist
+prints the names, dates, and sizes of all versions of the named
+.IR files ,
+looking backwards in time,
+stored in the dump file system.
+If the file exists in the main tree, the first line of output will be its current state.
+For example,
+.IP
+.EX
+hist ~rsc/.bash_history
+.EE
+.PP
+produces
+.IP
+.EX
+.nf
+May 19 16:11:37 EDT 2005 /home/am3/rsc/.bash_history 6175
+May 18 23:32:16 EDT 2005 /dump/am/2005/0519/home/am3/rsc/.bash_history 5156
+May 17 23:32:31 EDT 2005 /dump/am/2005/0518/home/am3/rsc/.bash_history 5075
+May 16 07:53:47 EDT 2005 /dump/am/2005/0517/home/am3/rsc/.bash_history 5065
+.fi
+.EE
+.PP
+The
+.B -v
+option enables verbose debugging printout.
+.PP
+The
+.B -d
+option causes
+.IR diff (1)
+.B -c
+to be run for each adjacent pair of dump files, while
+.B -b
+runs
+.IR diff
+.BR -cb .
+.PP
+The
+.B -u
+option causes times to be printed in GMT (UT) rather than local time.
+.PP
+Finally, the
+.B -s
+option
+sets the starting (most recent) date for the output.
+.SH EXAMPLES
+.PP
+Examine changes in block.c:
+.IP
+.EX
+hist -d block.c
+.EE
+.SH FILES
+.B /dump
+.SH SOURCE
+.B /home/am3/rsc/src/backup/cmd/history.c
+.SH SEE ALSO
+.IR yesterday (1)
+.SH BUGS
+Should be called
+.IR history ,
+but
+that name is taken by
+.IR sh (1).
diff --git a/man/man1/vbackup.1 b/man/man1/vbackup.1
new file mode 100644
index 00000000..72d93e73
--- /dev/null
+++ b/man/man1/vbackup.1
@@ -0,0 +1,263 @@
+.TH VBACKUP 8
+.SH NAME
+vbackup, vcat, vftp, vmount, vmount0, vnfs \-
+back up Unix file systems to Venti
+.SH SYNOPSIS
+.B vbackup
+[
+.B -DVnv
+]
+[
+.B -s
+.I secs
+]
+[
+.B -w
+.I n
+]
+.I disk
+[
+.I score
+]
+.PP
+.B vcat
+[
+.B -z
+]
+.I disk
+|
+.I score
+.B >
+.I disk
+.PP
+.B vftp
+.I disk
+|
+.I score
+.PP
+.B vmount
+[
+.B -v
+]
+.I addr
+.I mtpt
+.PP
+.B vmount0
+[
+.B -v
+]
+[
+.B -h
+.I handle
+]
+.I addr
+.I mtpt
+.PP
+.B vnfs
+[
+.B -LLMRVr
+]
+[
+.B -a
+.I addr
+]
+[
+.B -m
+.I mntaddr
+]
+[
+.B -b
+.I blocksize
+]
+[
+.B -c
+.I cachesize
+]
+.I config
+.SH DESCRIPTION
+These programs back up and restore standard
+Unix file system images stored in
+.IR venti (8).
+Images stored in
+.I venti
+are named by
+.IR scores ,
+which consist of a file system type followed
+by a colon and forty hexadecimal digits, as in:
+.IP
+.EX
+ffs:0123456789abcdef0123456789abcdef01234567
+.EE
+.PP
+(The hexadecimal data is the SHA1 hash of the Venti
+root block representing the file system image.)
+.PP
+These programs expect the environment variable
+.B $venti
+to be set to the network address of the Venti server to use
+(for example,
+.B yourhost
+or
+.BR tcp!yourhost!venti ).
+.PP
+.I Vbackup
+copies the file system stored on
+.I disk
+to the Venti server and prints the
+score for the newly-stored image.
+The argument
+.I disk
+should be a disk or disk partition device
+that would be appropriate to pass to
+.IR mount (8).
+.PP
+The optional argument
+.I score
+is the score of a previous backup of the disk image.
+If
+.I score
+is given,
+.I vbackup
+will not write to Venti any blocks that have not changed
+since the previous backup.
+This is only a speed optimization: since the blocks are already
+stored on Venti they need not be sent to the Venti server again.
+.PP
+The options to
+.I vbackup
+are:
+.TP
+.B -D
+.TP
+.B -V
+.TP
+.B -n
+.TP
+.B -v
+.TP
+.B -w \fIn
+.TP
+.B -s \fIsecs
+.PP
+.I Vcat
+writes the named disk image to standard output.
+Unused file system blocks are printed zeroed regardless
+of their actual content.
+.PP
+If the
+.B -z
+flag is given,
+.I vcat
+will attempt to seek over unused blocks instead of writing to them.
+The
+.B -z
+flag should only be used when standard output is seekable
+.RI ( i.e. ,
+when it has been redirected to a file or disk).
+.PP
+.I Vftp
+presents the
+file system image named by
+.I disk
+or
+.I score
+in a shell-like
+interactive session.
+Type
+.B help
+at the
+.B vftp>
+prompt for details.
+.PP
+.I Vmount
+mounts the NFS service at the network connection
+.I address
+onto
+.IR mountpoint .
+On most operating systems,
+.I vmount
+must be run by the user
+.BR root .
+.PP
+.I Vmount0
+is a simple C program that
+.I vmount
+uses if
+.IR mount (8)
+does not suffice.
+.PP
+.I Vnfs
+serves, using the
+NFS version 3 protocol,
+one or more disk images in a synthetic tree defined
+by the configuration file
+.IR config .
+.I Vnfs
+announces NFS service at
+.IR addr
+(default
+.BR udp!*!nfs )
+and NFS mount service at
+.IR mntaddr
+(default
+.BR udp!*!\fI999 ),
+registering both with the port mapper.
+If no port mapper is found running (on port 111),
+.I vnfs
+starts its own port mapper.
+The options are:
+.TP
+.B -r
+Reply to all NFS requests with RPC rejections.
+.TP
+.B -M
+Do not announce an NFS mount service.
+.TP
+.B -P
+Do not register service with the port mapper.
+.TP
+.B -a
+
+
+.SH EXAMPLES
+.PP
+Back up the file system stored on
+.BR /dev/da0s1a :
+.IP
+.EX
+% vbackup /dev/da0s1a
+ffs:0123456789abcdef0123456789abcdef01234567
+%
+.EE
+.PP
+Serve that backup and a few others in a tree reminiscent
+of Plan 9's dump file system, but hide each day's contents of
+.B /tmp :
+.IP
+.EX
+% cat config
+mount /2005/0510 ffs:0123456789abcdef\fI...\fP
+mount /2005/0510/home ffs:0123456789abcdef\fI...\fP
+mount /2005/0510 ffs:0123456789abcdef\fI...\fP
+mount /2005/0510/home ffs:0123456789abcdef\fI...\fP
+hide /*/*/tmp
+% vnfs -m -b 16k -c 1k config
+%
+.EE
+.PP
+Mount the backups on a client machine using
+.IR vmount :
+.IP
+.EX
+# vmount udp!yourserver!nfs /dump
+# ls /dump
+2005
+#
+.EE
+.PP
+Mount the backups using the standard NFS mount program:
+.IP
+.EX
+# mount -t nfs -o soft,intr,ro,nfsv3,rsize=8192,timeo=100 \
+ -o nfsvers=3,nolock,noatime,nodev,nosuid \
+.EE
diff --git a/man/man1/yesterday.1 b/man/man1/yesterday.1
new file mode 100644
index 00000000..b8a198ba
--- /dev/null
+++ b/man/man1/yesterday.1
@@ -0,0 +1,99 @@
+.TH YESTERDAY 1
+.SH NAME
+yesterday \- print file names from the dump
+.SH SYNOPSIS
+.B yesterday
+[
+.B -cCd
+] [
+.B -n
+.I daysago
+] [
+.I \-date
+]
+.I files ...
+.SH DESCRIPTION
+.I Yesterday
+prints the names of the
+.I files
+from the most recent dump.
+Since dumps are done early in the morning,
+yesterday's files are really in today's dump.
+For example, if today is February 11, 2003,
+.IP
+.EX
+yesterday /home/am3/rsc/.profile
+.EE
+.PP
+prints
+.IP
+.EX
+/dump/am/2003/0211/home/am3/rsc/.profile
+.EE
+.PP
+In fact, the implementation is to select the most recent dump in
+the current year, so the dump selected may not be from today.
+.PP
+By default,
+.I yesterday
+prints the names of the dump files corresponding to the named files.
+The first set of options changes this behavior.
+.TP
+.B -c
+Copy the dump files over the named files.
+.TP
+.B -C
+Copy the dump files over the named files only when
+they differ.
+.TP
+.B -d
+Run
+.B diff
+to compare the dump files with the named files.
+.PP
+The
+.I date
+option selects other day's dumps, with a format of
+1, 2, 4, 6, or 8 digits of the form
+.IR d,
+.IR dd ,
+.IR mmdd ,
+.IR yymmdd ,
+or
+.IR yyyymmdd .
+.PP
+The
+.B -n
+option selects the dump
+.I daysago
+prior to the current day.
+.PP
+.I Yesterday
+does not guarantee that the string it prints represents an existing file.
+.SH EXAMPLES
+.PP
+See what's changed in the last week in your profile:
+.IP
+.EX
+yesterday -d -n 7 ~/.profile
+.EE
+.PP
+Restore your profile from yesterday:
+.IP
+.EX
+yesterday -c ~/.profile
+.EE
+.SH FILES
+.B /dump
+.SH SOURCE
+.B /usr/local/bin/yesterday
+.SH SEE ALSO
+.IR diff (1),
+.IR hist (1)
+.SH BUGS
+Backups are only available on
+.B amsterdam
+and
+.BR toil .
+.PP
+It's hard to use this command without singing.