Revision as of 01:27, 14 November 2008 by Paddy (talk | contribs) (→‎Overview)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
    BackupPC Community Edition is an enterprise-grade, disk-based backup system. The system is very configurable and easy to maintain.

With the dropping price of disks and the introduction of technologies such as flash-based devices, performing disk-based backups has become a viable reality which enables rapid recovery for hardware failures. Depending on the size of the site, BackupPC Community Edition can serve as a complete backup solution.

This documentation is a supplement to BackupPC documentation and BackupPC wiki


Intelligent Use of Space with Disk De-duplication
BackupPC performs file-based de-duplication on all backups to reduce the total size of stored files. Identical files are only recorded once in the total pool of BackupPC.
Synthetic (Incremental) Backups
After performing a full backup set, BackupPC will only record files that have changed on disk. Full backups are performed regularly for data consistency and can be fully optimized.
On-the-fly Compression
Data pool sizes on disk can further be reduced by enabling compression on stored files. With incremental backups enabled, the overhead on performance is negligible.
Advanced Scheduling
BackupPC monitors the network availability of all backup hosts to optimize the best times at which to perform backups. For instance, always-available machines such as desktops can be configured to only be backed up during non-peak hours, while laptops which are only present in the local network for a limited time will be backed up once they are available.
Multiple File Transfer Options
BackupPC supports access to machines over a variety of protocols. A machine's data can be backed up if it is accessible using any of the following protocols: Samba/Windows file sharing, ssh, rsyncd, FTP.
No Client Software
Since BackupPC operates over standard network protocols, no client software is necessary. Any machine can can be backed up over BackupPC as long as its data is accessible via ssh, rsyncd, samba/windows file sharing, or FTP.
Multiple Restore Options
Restoration of data can occur in many ways; individual files can be served directly to the user from the CGI interface, or in .tar files or .tar.gz files in bundles. In addition, direct restores to the client (via Samba or tar protocols) are available from the CGI interface.
Powerful Web Interface
BackupPC comes bundled with a fully-featured web interface which precludes the necessity to open up configuration files by hand. All the features and functionality of BackupPC are available from the web interface.
Open Source
BackupPC Community Edition is an open source software, and its developers are committed to maintaining such transparency in operation to guarantee user confidence, and participation in further feature development and performance enhancement. It uses open backup format and open protocols for communication.

Installing BackupPC

Pre-installation Requirements

The following packages and perl modules are required to install and run BackupPC. In addition, a dedicated OS user account must be set up for BackupPC operation.


  • perl version 5.8.0 or greater
  • rsync version 2.6.3 or greater
  • smb-client version 3.0 or greater
  • tar version 1.13.7 or greater
  • httpd (version dependent on user, along with choice of mod_cgi or mod_perl)

Perl Modules

These Perl modules are available as rpm packages on Red Hat Enterprise Linux, Fedora Core Linux, and SUSE Linux. Package names may be in the format perl-<category>-<module>.<arch>, for example, perl-XML-RSS.noarch for the PERL XML::RSS module. Please install them with the appropriate package manager. Installing from the distribution is easier than installing from CPAN.

  • Compress::Zlib - enables pool compression.
  • Archive::Zip - enables restores via zip archives
  • XML::RSS - allows the web interface to use RSS. Nice if you want backup notifications via RSS.
  • File::RsyncP - necessary for rsync backups. For best peformance, use version 30 or greater.

OS Configuration

Create a user named backuppc to run the backup processes. rpm packages create this user during installation.

You should decide where to store backups before installing; the installation program prompts you for this information. The location should be a directory that is not used for any other purpose (such as a removable hard drive or a purposed RAID array).

Program Installation


Installing using rpm is the recommended method. RPMs for RHEL and SLES distributions are available at Zmanda downloads site.

rpm -ivh backuppc-version.rpm

Via .tar.gz file

Unpacking BackupPC

Enter the following commands as root:

% tar -xzf BackupPC-version.tar.gz
% cd BackupPC-version
% perl

The last command invokes an interactive install script, which is described below.

Interactive Install

BackupPC prompts you for the following configuration and environment settings before installing:

  • Path Detection - BackupPC attempts to locate the binaries that it needs to operate. If you would like to use a non-standard version of a program or would like to use another program that is not located in $PATH, you can enter in the values manually.
  • Hostname - BackupPC asks for the hostname of the server the daemon is running on. BackupPC can run the webserver separate from the daemon, but most clients will just want to enter 'localhost'.
  • BackupPC User - BackupPC needs to know which user to run commands as. The recommended path is to create a user named 'backuppc' prior to installation.
  • Install Directory - This option is for where to locate the perl libraries & binaries. This should vary depending on the OS, but the FHS standard (and default) is /usr/local/BackupPC.
  • Data Directory - This is the location of the pool files. This value should ideally be the mount point of a very big and very fast RAID array. The default is '/data/BackupPC'.
  • CPAN Net::FTP::* modules - Optional libraries for FTP backup. These CPAN modules are not available on some package repositories, so they are bundled with BackupPC as an optional install.
  • CGI bin directory - Web server's CGI bin directory where BackupPC web interface will be installed.
  • Apache Image Directory - Apache's image directory where web images will be installed.
  • Image Directory URL - Where the web interface should look for the images relative to the Apache image root.

Once you have responded to the prompts, BackupPC asks you to confirm the installation choices. After the installation is complete, the program displays helpful documentation regarding post-installation configuration.

Post-Install Configuration

If installing via RPM, daemon setup is automatic. Web Interface configuration, although optional, is highly recommended.

Daemon Setup

Users installing via RPM will have the daemon scripts automatically installed to their operating system's default location.

Tar installers instead must look to the init.d folder available at the root of the source directory. it contains daemon scripts for various operating systems for management by various daemon systems. Go through the README, which has install instructions.

Web Interface Configuration

BackupPC has a web interface that is very powerful, and whose configuration is beyond the scope of a quickstart guide. Please see BackupPC Web Interface.

Setting up Backup Clients

As BackupPC operates on services running on a remote host, the machines to be backed up are referred to as 'clients' and the server as the 'BackupPC server'. Often, and especially on the BackupPC listhost, users will refer to hosts as meaning the backup clients.

Configuring BackupPC Clients

Once you have installed BackupPC, you must configure clients before any backups can be performed. Refer to BackupPC Client Configuration for detailed instructions.