VENTI-BACKUP(8)VENTI-BACKUP(8)
NAME
rdarena, wrarena – copy arenas between venti servers
SYNOPSIS
venti/rdarena
[
-qv
]
arenapart
arenaname
venti/wrarena
[
-o
fileoffset
]
[
-h
host
]
arenafile
[
clumpoffset
]
DESCRIPTION
Rdarena
extracts the named
arena
from the arena partition
arenapart
and writes this arena to standard output.
This command is typically used to back up an arena to external media.
The
-v
option generates more verbose output on standard error;
-q
generates only errors on standard error.
Wrarena
writes the blocks contained in the arena
arenafile
(typically, the output of
rdarena)
to a Venti server.
It is typically used to reinitialize a Venti server from backups of the arenas.
For example,
venti/rdarena /dev/sdC0/arenas arena.0 >external.media
venti/wrarena -h venti2 external.media
writes the blocks contained in
arena.0
to the Venti server
venti2
(typically not the one using
/dev/sdC0/arenas).
The
-o
option specifies that the arena starts at byte
fileoffset
(default
0)
in
arenafile .
This is useful for reading directly from
the Venti arena partition:
venti/wrarena -h venti2 -o 335872 /dev/sdC0/arenas
(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.)
Finally, the optional
offset
argument specifies that the writing should begin with the
clump starting at
offset
within the arena.
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:
last=`{cat last}
venti/wrarena -h venti2 -o 335872 /dev/sdC0/arenas $last >output
awk '/^end offset/ { print $3 }' offset >last
Of course, one would need to add wrapper code to keep track
of which arenas have been processed.
See
/sys/src/cmd/venti/words/backup.example
for a version that does this.
SOURCE
/sys/src/cmd/venti/srv
SEE
venti(6),
venti(8)
BUGS
Wrarena
can’t read a pipe or network connection containing an arena;
it needs a file already containing the entire arena.