|
QUICK START
You need to compile burp on a unix-based operating system first.
Make sure that you have openssl, zlib and librsync libraries and development
libraries installed. With debian or ubuntu, this command should install them
for you:
apt-get install librsync-dev libz-dev libssl-dev
Change to the burp source directory and run "./configure --prefix=/usr",
then "make".
All being well, burp will compile successfully.
Then run "make install" as root to install.
Start the burp server with this command:
burp -c /etc/burp/burp-server.conf
UNIX CLIENT
The example client configuration file is /etc/burp/burp.conf.
It will backup /home/graham/testdir by default, which probably does not exist
on your system, so you will want to edit the config file to point to somewhere
that does exist.
To run a backup, start the burp client:
burp -a b
WINDOWS CLIENT
Pick the 32-bit or 64-bit Burp installer as appropriate - visit
http://burp.grke.net/ to find one of them.
Compilation instructions will be included in a separate guide.
The Windows installer will ask you for the address of your server, the client
name, and the client password. Burp will then installed its files to:
C:/Program Files/Burp
If you need to change client configuration settings, the file can be found at:
C:/Program Files/Burp/burp.conf
It will be configured to backup "C:/Documents and Settings".
To run a backup, start the burp client from within its directory:
cd "C:\Program Files\Burp\bin"
burp.exe -a b
If you are running Windows 7, you might need to start the command prompt with
"Run as Administrator".
For more help, see the man page - type 'man burp'.
For the benefit of the website, the man page now follows.
Burp(8) Burp(8)
NAME
Burp - BackUp and Restore Program
SYNOPSIS
burp [OPTIONS]
DESCRIPTION
BackUp and Restore Program.
SERVER OPTIONS
-c path
Short for config file. The argument is a path to the config
file. The default is /etc/burp/burp.conf.
-n No daemon mode. The program will accept a single query, deal
with it, and then exit. This is useful for debugging.
CLIENT OPTIONS
-a [b|r|l|L|v|]
Short for action. The arguments mean backup, restore, list,
long list or verify, respectively.
-b [number|a]
Short for backup number. The argument is a number, or a to
select all backups.
-c [path]
Short for config file. The argument is a path to the config
file. The default is /etc/burp/burp.conf, or C:\Program
Files\Burp\burp.conf on Windows.
-d [path]
Short for directory. The argument is a path to an alternative
directory to restore to.
-f [path]
Short for force overwrite. Without this option set, a restore
will not overwrite existing files.
-r [regex]
Short for regular expression. The argument is a regular
expression with which to match backup files. Use it for lists
and restores.
EXAMPLES
burp -a l
Lists the available backups and dates
burp -a l -b 1
Lists all the files in backup number 1.
burp -a l -b a
Lists all the files in all the backups.
burp -a l -b 1 -r myregex
Lists all the files in backup number 1 that match the regular
expression myregex.
burp -a L -b 1 -r myregex
Long lists all the files in backup number 1 that match the regu
lar expression myregex. This is like doing an ls -l.
burp -a r -b 1 -r myregex
Restores all the files in backup number 1 that match the regular
expression myregex back to their original location. You wont
be given a warning if the files already exist there, so use with
caution.
burp -a r -b 1 -r myregex -d /tmp/restoredir
Restores all the files in backup number 1 that match the regular
expression myregex into the directory /tmp/restoredir.
burp -a r
Restores all the files in the most recent backup to their origi
nal location. You wont be given a warning if the files already
exist there, so use with caution.
burp -a v
Verifies the most recent backup.
burp -a v -b 1 -r myregex
Verifies everything in backup number 1 that matches the regular
expression myregex.
SERVER CONFIGURATION FILE OPTIONS
mode=server
Required to run in server mode.
port=[port number]
Defines the TCP port that the server listens on.
directory=[path]
Path to the directory in which to store backups.
clientconfdir=[path]
Path to the directory that contains client configuration files.
lockfile=[path]
Path to the lockfile that ensures that two server processes can
not run simultaneously.
keep=[number]
Number of backups to keep. This can be overriddden by the client
configuration files in clientconfdir on the server.
hardlinked_archive=[0|1]
On the server, defines whether to keep hardlinked files in the
backups, or whether to generate reverse deltas and delete the
original files. Can be set to either 0 (off) or 1 (on). Disad
vantage: More disk space will be used Advantage: Restores will
be faster, and since no reverse deltas need to be generated, the
time and effort the server needs at the end of a backup is
reduced.
working_dir_recovery_method=[merge|use|delete]
This option tells the server what to do when it finds the work
ing directory of an interrupted backup (perhaps somebody pulled
the plug on the server, or something). This can be overridden by
the client configurations files in clientconfdir on the server.
Options are...
delete: Just delete the old working directory.
use: Convert the working directory into a complete backup.
merge: Merge the working directory with the previous complete backup.
The resulting backup will contain the newest files from them both.
This option takes effect when you try to do a new backup on the client
that was interrupted. Once the old working directory is dealt with, an
entirely new backup will be made.
ssl_cert_ca=[path]
The path to the SSL CA certificate. This file will probably be
the same on both the server and the client.
ssl_cert=[path]
The path to the server SSL certificate.
ssl_cert_password=[password]
The SSL certificate password.
ssl_dhfile=[path]
Path to Diffie-Hellman parameter file. To generate one with
openssl, use a command like this: openssl dhparam -out
dhfile.pem -5 1024
CLIENT CONFIGURATION FILE OPTIONS
mode=client
Required to run in client mode.
server=[IP address or hostname]
Defines the server to connect to.
port=[port number]
Defines the TCP port that the server is listening on.
cname=[password]
Defines the client name to identify as to the server.
password=[password]
Defines the password to send to the server.
lockfile=[path]
Path to the lockfile that ensures that two client processes can
not run simultaneously (this currently doesnt work on Windows).
include=[path]
Path to include in the backup. You can have multiple include
lines.
exclude=[path]
Path to exclude from the backup. You can have multiple exclude
lines.
cross_filesystem=[path]
Allow backups to cross a particular filesystem mountpoint.
cross_all_filesystems=[0|1]
Allow backups to cross all filesystem mountpoints.
ssl_cert_ca=[path] The path to the SSL CA certificate. This file
will probably be the same on both the server and the client.
ssl_cert=[path]
The path to the client SSL certificate.
ssl_cert_password=[password]
The SSL certificate password.
SERVER CLIENTCONFDIR FILE
For the server to know about clients that can contact it, you need to
place a file named after the client in clientconfdir. The file name
must much the name in the cname field on the client. "ssl_peer_cn"
must also be set and match the common name in the SSL certificate that
the client gives when it connects. The file needs to contain a line
like "password=[password]" that matches the same field on the client.
Additionally, the "keep" and "working_dir_recovery_method" server
options can be overridden here for each client.
Some notes on SSL certificates
The burp example configs come with example SSL certificates and keys.
You can use these and burp will work. But if you are worried about net
work security, you should generate your own certificates and keys and
point your config files to them. To create the example files, I used a
handy interface to openssl, called tinyca (http://tinyca.sm-
zone.net/). If you are using Debian, you can run apt-get install
tinyca to get it.
Examining backups
As well as using the client list options described above, you can go
directly to the storage directory on the server. The backups for a
client are in the directory named after the client. Inside each backup
directory is a file called manifest.gz.
This contains a list of all the files in the backup, and where they
originally came from on the client.
There is also a log.gz file in the backup directory, which contains
the output generated by the server during the backup.
The data directory contains complete backup files.
The deltas.reverse directory contains reverse deltas that can be
applied to the data from the next backup in the sequence (indicated by
the contents of the forward file).
Anything with a .gz suffix is compressed in gzip format. You can use
standard tools, such as zcat, zless or cp, to view them or copy them
elsewhere.
BUGS
If you find bugs, please report them to the email list. See the website
for details.
AUTHOR
The main author of Burp is Graham Keeling.
COPYRIGHT
See the LICENCE file included with the source distribution.
Burp Burp(8)
|