BackupPC

From Wikipedia, the free encyclopedia

BackupPC
Developed by Craig Barratt
Latest release 3.1.0 / November 25, 2007
OS Cross-platform
Genre Backup&Recovery (Software)
License GPL 2
Website http://backuppc.sourceforge.net/

BackupPC is a free backup software suite with a web-based frontend. The cross-platform server will run on any Linux, Solaris, or UNIX based server. No client is necessary, as the server is itself a client for several protocols that are handled by other services native to the client OS.

For instance, BackupPC incorporates a Server Message Block (SMB) client that can be used to back up network shares of computers running Windows. Paradoxically, under such a setup the BackupPC server can be located behind a NAT'd firewall while the Windows machine operates over a public IP address. While this may not be advisable for SMB traffic, it is more useful for web servers running SSH with GNU tar and rsync available, as it allows the BackupPC server to be stored in a subnet separate from the web server's DMZ. It is published under the GNU General Public License.

Contents

[edit] Protocol choice

Only minimal configuration on client machines is required when backing up systems that have SSH, available natively. On Windows, third party implementations of tar, rsync, and SSH (such as Cygwin) are required to utilize those protocols. The choice between tar and rsync is dictated by the hardware and bandwidth available to the client. Clients backed up by rsync use considerably more CPU time than client machines using tar or SMB. Clients using SMB and tar use considerably more bandwidth than clients using rsync program.

[edit] Data Storage

BackupPC uses a combination of hard links to reduce the total disk space used for files. At the first full backup, all files are transferred to the backend, compressed and then compared. Files that are identical are hard linked, which uses only one additional directory entry. The upshot is that an astute sysadmin could potentially back up ten Windows XP laptops with 10 GB of data each, and if 8 GB is repeated on each machine (Office and Windows binary files) would look like 100 GB is needed, but only 28 GB (10x 2GB + 8GB) would be used. Compression of the data on the backend will further reduce that requirement.

When browsing the backups, incrementals are automatically filled back to the previous full backup. So every backup appears to be a full and complete dump of data.

[edit] Performance

When backing up to a remote SMB share, speeds of 3-4 Mbit are normal. A local disk used as a backup destination returns speeds of 10+ Mbit depending on CPU performance. A faster CPU will naturally help with compression and md5sum generation.

[edit] Forks and related projects

  • BackupPC4AFS is a version of BackupPC patched to backup AFS or OpenAFS volumes to a backup server's local disk or attached RAID. It supports all BackupPC features, including full and multi-level incremental dumps, exponential expiry, and configuration via conf files or a web interface. When performing full backups of multi-gigabyte AFS volumes, speeds of 24-35 megabytes per second are not uncommon over gigabit ethernet.
  • BackupPC SME Contrib is an add-on to SME Server that allows integration of BackupPC into the SME templated UI.

[edit] External links