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 stan- dard 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 Page 1 Plan 9 (printed 12/21/24) VENTI-BACKUP(8) VENTI-BACKUP(8) 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 ALSO 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. Page 2 Plan 9 (printed 12/21/24)