Download and Installation Instructions
- System Requirements
- Comparison With Other Systems
- Restoring Files
- Verify and Restore Whole Backups
- Checking Space Usage
- Managing Client Accounts
- Regular Maintenance
- Fixing Corruption on Server
- Recovering from Lost Keys
- Pull data from a USB hdd
- Recipies and HOWTOs
- Logging Output
- Related Projects
- Developers Documentation
- Source Code Repository
- Coding Style
- Current Development Progress
- Future Development Plans
- Betas and Release Candidates
- Build Automation
- Instructions in German by Hans-Joachim Baader
Please pay attention to the Upgrading section below if you:
- have previously run any version of Box Backup on any of your systems; or
- plan to run different versions on different systems; or
- copy configuration files from an older installation of Box Backup; or
- configure Box Backup without using the bbackupd-config command.
Please pay special attention to the Upgrading to 0.11 page if you want to run 0.11 on any of your systems.
Version 0.11.1 is the current stable released version, and recommended for normal users.
Version 0.10 is the old stable version. We recommend it only for users who are willing to live with the known problems, which will not be fixed:
- Backing up files over 2GB chooses an unexpected block size, which can be restored but causes quick compare to fail with BackupStore BadBackupStoreFile (4/11) (see  and ticket:2)
- Incremental updates to files over 2GB may also fail with BackupStore BadBackupStoreFile (4/11)
- Restoring files over 2GB fails instantly (see ticket:2)
- Build on Debian Etch 64-bit fails with the error BackupQueries.cpp:818: error: LLONG_MIN was not declared in this scope.
- Windows support is not very good, the Windows client will often deadlock with bbackupctl and various other problems.
- Restoring symbolic links which create a directory loop, or to inaccessible directories, will fail
- Compilation with GCC 4 is not supported and errors should be expected.
Box Backup is available pre-packaged for the following systems:
If you know of any pre-packaged and supported versions for other architectures then please update this part of the wiki.
Packaged development versions are made available as beta releases or release candidates, depending on their stability. They are available from the BetaReleases page. If you want to build from source, please read the SourceCodeRepository page.
As of may 2007 official packages are available for Box Backup in debian main:
thus, if you are running debian unstable, you are ready to install.
Box Backup 0.11 (rc8 or later) packages built for lenny can be found here, maintained by Reinhard Tartler:
These commands will enable the debian-backports repository:
$ echo deb http://backports.debian.org/debian-backports lenny-backports-sloppy main > /etc/apt/sources.list.d/debian-backports.list $ apt-get update
Build status (with logs) is here: https://buildd.debian.org/status/package.php?p=boxbackup&suite=lenny-backports-sloppy
if you are running debian etch, a backport of the official packages is available on backports.org - see http://backports.org/dokuwiki/doku.php?id=instructions for instructions on how to use packages from backports.org.
if you are running sarge (oldstable) on i386 the following unofficial repository from Jérôme Schell may still be of interest: (but upgrading to etch may be the better plan ;)
deb http://debian.myreseau.org/ sarge main deb-src http://debian.myreseau.org/ sarge main
in either case use something like
apt-get install boxbackup-client
Instructions on building your own Redhat packages (RPMs), also applicable to Fedora, SuSE and Mandriva, are available on the CompileLinuxRPM page. If you know of any supported pre-built packages then please update this part of the wiki.
To install the Windows client, please follow these steps:
- Read the known issues with the Windows client
- Download the latest pre-compiled client
- Follow the installation instructions
If you have a deep desire to build your own binaries from source, it is possible, but if it doesn't work then we may not be able to help you much. The source code can be downloaded from here using Subversion, and compiled by following these instructions.
A FreeBSD port is also available. This can be installed by either:
- Running the binary package: pkg_add -r boxbackup
- Compiling from ports: cd /usr/ports/sysutils/boxbackup; make install clean
- GNU Readline support has been disabled by default, but can be enabled by installing from ports.
- If GNU Readline is not enabled, then bbackupquery has no line editing ability, due to FreeBSD's implementation of libedit not being detected by autoconf. Hopefully this will be fixed in a future release.
Box Backup is available within the standard Portage tree as app-backup/boxbackup, although version 0.10 is currently marked as unstable and so you'll have to unmask it to install it. Do that as follows:
echo ~app-backup/boxbackup-0.10 ~x86 >> /etc/portage/package.keywords emerge -aDvt boxbackup
The ebuild will, by default, install both the client and server portions. If you're installing a machine that will only be a client then you can add the client-only USE flag for a slightly smaller install. There are also a couple of path differences to be aware of:
- The configuration files live in /etc/boxbackup rather than the /etc/box directory often discussed in this documentation. The contents of this directory are the same, however.
- The binaries and scripts are installed into /usr/sbin rather than /usr/local/bin.
mkdir -p /usr/src/aur cd /usr/src/aur wget https://aur.archlinux.org/packages/bo/boxbackup-server/boxbackup-server.tar.gz tar -xf boxbackup-server.tar.gz cd boxbackup-server makepkg --asroot -s
After building the package you can install it with the following steps (package names may differ):
pacman -U boxbackup-server-0.11.1-0-x86_64.pkg.tar.xz
- The binaries and scripts are installed into /usr/bin rather than /usr/local/bin.
- The packae does not install default configuration files. These must be created manually.
- Currently, there are no systemd files included in the package. But you can use the following examples (Adopt the config paths to you installation):
# /etc/systemd/system/boxbackup.service # This service file runs an Box Backup daemon that listens on the public IP. [Unit] Description=Box Backup Server Wants=network.target After=network.target [Service] ExecStart=/usr/bin/bbstored -F -c /etc/boxbackup/bbstored.conf KillMode=process Restart=always [Install] WantedBy=multi-user.target
# /etc/systemd/system/boxclient.service # This service file runs an Box Backup daemon that runs backups on demand. [Unit] Description=Box Backup Client Wants=network.target After=network.target [Service] ExecStart=/usr/bin/bbackupd -F -c /etc/boxclient/bbackupd.conf KillMode=process Restart=always [Install] WantedBy=multi-user.target
Compiling from Source
We recommend that you download one of the official release tarballs unless you want to try out a development version or help us with testing and debugging.
If you have downloaded the source code from the repository instead of an official release tarball, then you won't have a configure file, and you must run the bootstrap script first:
In either case, follow the instructions on the general installation page.
Solaris and OpenSolaris?
Please install Blastwave and then use it to install the following packages:
- autoconf and automake if building from the repository (not needed if building from a release tarball)
- berkeleydb44 (optional but recommended)
- openssl and openssl_devel
- readline (optional but recommended)
Bootstrap if necessary, and then configure as follows:
./configure \ --with-ssl-headers=/opt/csw/include \ --with-ssl-lib=/opt/csw/lib \ --with-bdb-headers=/opt/csw/bdb4/include \ --with-bdb-lib=/opt/csw/bdb4/lib \ LDFLAGS="-R /opt/csw/lib:/opt/csw/bdb4/lib" \ --prefix=/opt/boxbackup
Note: it is recommended but not required to install Box Backup in /opt/boxbackup rather than /usr/local, using the --prefix option to the configure script.
Then follow the remaining instructions on the general installation page.
Please follow the Windows compilation instructions rather than the generic ones above.
Unless otherwise stated for a particular Box Backup version, both the client and server must be running the same software version (ie if you upgrade the server then you must also upgrade all of your clients).
Generally speaking, the data held by your backup server should be preserved when upgrading the server. Again, refer to the specific page on the version you're upgrading to for exact details. Note that even though the data might be preserved when moving up in version (eg from 0.09 to 0.10), the same is not generally true when downgrading the server as the server data format will have been changed by the upgrade.
There are pages that describe specific versions below; each of those pages will give details on the main changes from the previous version as well as details on platform compatibility and upgrade details.