The bakiClient package consists of 3 binaries and a configuration file. The binaries are named bakiclient,bakiwrapper, and bakirestore.
bakiclient is called by the bakiServer via an ssh-connection when a backup is to be made. The desired file set is given as parameter.
bakiclient reads the file set definition from its config file (baki.conf) and calls tar with the appropriate options. tar is called via the suid-root wrapper bakiwrapper so that files readable only by root can be backuped.
The compressed backup stream is written to stdout and therefore passed through the ssh-connection to the bakiServer where it is stored.
bakirestore is used to restore a backup archive from the backup server to a client machine.
To compile and install bakiClient from its source code you can use the following commands:
# tar xzvf bakiClient-0.91.tar.gz # cd bakiClient-0.91 # ./configure # make # make install # /usr/local/lib/baki/bin/postinstall.sh
After that you have to place the SSH key that you created when installing the backup server in /usr/local/lib/baki/.ssh/authorized_keys
bakiClient is configured using a configuration file in XML format. The file is named baki.conf and normally resides in /usr/local/lib/baki/etc (this can be specified using commandline options to configure, see configure --help for details).
In the config file multiple file sets may be specified. A simple config file might look like:
<baki> <set name="daily"> <path>/etc</path> </set> <set name="full"> <path>/</path> <exclude> <path>/proc</path> <path>/mnt</path> <path>/tmp</path> </exclude> </set> </baki>