=head1 NAME

buserver - Initializes the Backup Server

=head1 SYNOPSIS

buserver [B<-database> I<database directory>]
[B<-cellservdb> I<cell configuration directory>]
[B<-resetdb>]  [B<-noauth>]  [B<-smallht>]
[B<-servers> I<ubik database servers> [I<ubik database servers> ...]]
[B<-enable_peer_stats>]  [B<-enable_process_stats>]
[B<-help>]

This command does not use the syntax conventions of the AFS command
suites. Provide the command name and all option names in full.

=head1 DESCRIPTION

The C<buserver> command initializes the Backup Server, which runs on
database server machines and maintains the Backup Database. In the
conventional configuration, the binary file is located in the
B</usr/afs/bin> directory on a file server machine.

The C<buserver> command is not normally issued at the command shell
prompt, but rather placed into a database server machine's
B</usr/afs/local/BosConfig> file with the bos create command. If it is
ever issued at the command shell prompt, the issuer must be logged
onto a file server machine as the local superuser B<root>.

As it initializes, the Backup Server process creates the two files
that constitute the Backup Database, B<bdb.DB0> and B<bdb.DBSYS1>, in the
B</usr/afs/db> directory if they do not already exist. The Backup
Database houses information about volume sets and entries, the dump
hierarchy, Tape Coordinators, and previously performed dump sets. Use
the commands in the B<backup> suite to administer the database.

The Backup Server records a trace of its activity in the
B</usr/afs/logs/BackupLog> file. Use the C<bos getlog> command to display
the contents of the file.

=head1 OPTIONS

=over 4

=item B<-database> I<database directory>

Specifies the pathname of an alternate directory for the Backup
Database files, ending in a final slash (/). If this argument
is not provided, the default is the B</usr/afs/db> directory.

=item B<-cellservdb> I<cell configuration directory>

Specifies the pathname of the directory from which the Backup
Server reads in an alternate version of the B<CellServDB> file.
This argument is mandatory for correct functioning when the
Backup Server is running on a subset of the cell's database
server machines that is not a majority of the machines listed
in the standard B</usr/afs/etc/CellServDB> file (which the Backup
Server consults if this argument is not provided). It is not
appropriate in any other circumstances.

=item B<-resetdb>

Removes all of the information in the Backup Database files in
the B</usr/afs/db> directory, leaving zero-length versions of
them. The backup operator must recreate the configuration
entries in the database (for volume sets, the dump hierarchy
and so on) before performing backup operations.

=item B<-noauth>

Establishes an unauthenticated connection between the issuer
and the Backup Server, in which the Backup Server treats the
issuer as the unprivileged user B<anonymous>. It is useful only
when authorization checking is disabled on the database server
machine. In normal circumstances, the Backup Server allows only
authorized (privileged) users to issue commands that affect or
contact the Backup Database, and refuses to perform such an
action even if the B<-noauth> flag is used.

=item B<-smallht>

Directs the Backup Server to use smaller internal hash tables
for the Backup Database, which reduces memory requirements but
can make data access take longer.

=item B<-servers> I<ubik database servers> [I<ubik database servers> ...]

Specifies the database server machines on which to start the
Backup Server. Use this argument if running the Backup Server
on a subset of the database server machines that is not a
majority of the machines listed in the B</usr/afs/etc/CellServDB>
file.

=item B<-enable_peer_stats>

Activates the collection of Rx statistics and allocates memory
for their storage. For each connection with a specific UDP port
on another machine, a separate record is kept for each type of
RPC (FetchFile, GetStatus, and so on) sent or received. To
display or otherwise access the records, use the Rx Monitoring
API.

=item B<-enable_process_stats>

Activates the collection of Rx statistics and allocates memory
for their storage. A separate record is kept for each type of
RPC (FetchFile, GetStatus, and so on) sent or received,
aggregated over all connections to other machines. To display
or otherwise access the records, use the Rx Monitoring API.

=item B<-help>

Prints the online help for this command. All other valid
options are ignored.

=back

=head1 EXAMPLES

The following example C<bos create> command creates a B<buserver> process on
the file server machine B<fs3.abc.com>. It appears here on two lines only
for legibility.

    bos create -server fs3.abc.com -instance buserver  \
               -type simple -cmd /usr/afs/bin/buserver

=head1 PRIVILEGE REQUIRED

The issuer must be logged in as the superuser B<root> on a file server
machine to issue the command at a command shell prompt. It is
conventional instead to create and start the process by issuing the
C<bos create> command.

=head1 CAVEATS

The B<buserver> process reserves port B<7021> for its use. Unexpected
behavior can occur if another process tries to reserve this port while
the B<buserver> process is running.

=head1 COPYRIGHT

IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.

Converted from html to pod by Alf Wachsmann <alfw@slac.stanford.edu>, 2003,
and Elizabeth Cassell <e_a_c@mailsnare.net>, 2004,
Stanford Linear Accelerator Center, a department of Stanford University.

=head1 SEE ALSO

L<BackupLog(1)>,
L<BosConfig(1)>,
L<CellServDB_server_version(1)>,
L<bdb.DB0> and L<bdb.DBSYS1>,
L<backup(1)>,
L<bos_create(1)>,
L<bos_getlog(1)>

=cut
