113 lines
2.2 KiB
Plaintext
113 lines
2.2 KiB
Plaintext
.TH VENTI-BACKUP 8
|
|
.SH NAME
|
|
rdarena, wrarena \- copy arenas between venti servers
|
|
.SH SYNOPSIS
|
|
.PP
|
|
.B venti/rdarena
|
|
[
|
|
.B -qv
|
|
]
|
|
.I arenapart
|
|
.I arenaname
|
|
.PP
|
|
.B venti/wrarena
|
|
[
|
|
.B -o
|
|
.I fileoffset
|
|
]
|
|
[
|
|
.B -h
|
|
.I host
|
|
]
|
|
.I arenafile
|
|
[
|
|
.I clumpoffset
|
|
]
|
|
.SH DESCRIPTION
|
|
.PP
|
|
.I Rdarena
|
|
extracts the named
|
|
.I arena
|
|
from the arena partition
|
|
.I arenapart
|
|
and writes this arena to standard output.
|
|
This command is typically used to back up an arena to external media.
|
|
The
|
|
.B -v
|
|
option generates more verbose output on standard error;
|
|
.B -q
|
|
generates only errors on standard error.
|
|
.PP
|
|
.I Wrarena
|
|
writes the blocks contained in the arena
|
|
.I arenafile
|
|
(typically, the output of
|
|
.IR rdarena )
|
|
to a Venti server.
|
|
It is typically used to reinitialize a Venti server from backups of the arenas.
|
|
For example,
|
|
.IP
|
|
.EX
|
|
venti/rdarena /dev/sdC0/arenas arena.0 >external.media
|
|
venti/wrarena -h venti2 external.media
|
|
.EE
|
|
.LP
|
|
writes the blocks contained in
|
|
.B arena.0
|
|
to the Venti server
|
|
.B venti2
|
|
(typically not the one using
|
|
.BR /dev/sdC0/arenas ).
|
|
.PP
|
|
The
|
|
.B -o
|
|
option specifies that the arena starts at byte
|
|
.I fileoffset
|
|
(default
|
|
.BR 0 )
|
|
in
|
|
.I arenafile .
|
|
This is useful for reading directly from
|
|
the Venti arena partition:
|
|
.IP
|
|
.EX
|
|
venti/wrarena -h venti2 -o 335872 /dev/sdC0/arenas
|
|
.EE
|
|
.LP
|
|
(In this example, 335872 is the offset shown in the Venti
|
|
server's index list (344064) minus one block (8192).
|
|
You will need to substitute your own arena offsets
|
|
and block size.)
|
|
.PP
|
|
Finally, the optional
|
|
.I offset
|
|
argument specifies that the writing should begin with the
|
|
clump starting at
|
|
.I offset
|
|
within the arena.
|
|
.I Wrarena
|
|
prints the offset it stopped at (because there were no more data blocks).
|
|
This could be used to incrementally back up a Venti server
|
|
to another Venti server:
|
|
.IP
|
|
.EX
|
|
last=`{cat last}
|
|
venti/wrarena -h venti2 -o 335872 /dev/sdC0/arenas $last >output
|
|
awk '/^end offset/ { print $3 }' offset >last
|
|
.EE
|
|
.LP
|
|
Of course, one would need to add wrapper code to keep track
|
|
of which arenas have been processed.
|
|
See
|
|
.B /sys/src/cmd/venti/words/backup.example
|
|
for a version that does this.
|
|
.SH SOURCE
|
|
.B /sys/src/cmd/venti/srv
|
|
.SH SEE ALSO
|
|
.IR venti (6),
|
|
.IR venti (8)
|
|
.SH BUGS
|
|
.I Wrarena
|
|
can't read a pipe or network connection containing an arena;
|
|
it needs a file already containing the entire arena.
|