BackupPC

Last updated
BackupPC
Developer(s) Craig Barratt
Initial releaseSeptember 21, 2001;22 years ago (2001-09-21)
Stable release
4.4.0 / June 20, 2020;3 years ago (2020-06-20) [1]
Repository
Written inPerl
Operating system Cross-platform
Type Backup
License GPL 3
Website backuppc.github.io/backuppc

BackupPC is a free disk-to-disk 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. In 2007, BackupPC was mentioned as one of the three most well known open-source backup software, [2] even though it is one of the tools that are "so amazing, but unfortunately, if no one ever talks about them, many folks never hear of them". [3]

Contents

Data deduplication reduces the disk space needed to store the backups in the disk pool. It is possible to use it as D2D2T solution, if the archive function of BackupPC is used to back up the disk pool to tape. BackupPC is not a block-level backup system like Ghost4Linux but performs file-based backup and restore. Thus it is not suitable for backup of disk images or raw disk partitions. [4]

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 Secure Shell (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.

Protocols supported

BackupPC supports NFS, SSH, SMB and rsync. [5]

It can back up Unix-like systems with native ssh and tar or rsync support, such as Linux, BSD, and OS X, as well as Microsoft Windows shares with minimal configuration. [6]

On Windows, third party implementations of tar, rsync, and SSH (such as Cygwin) are required to utilize those protocols. [7]

Protocol choice

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 or tar use considerably more bandwidth than clients using rsync. These trade-offs are inherent in the differences between the protocols. Using tar or SMB transfers each file in its entirety, using little CPU but maximum bandwidth. The rsync method calculates checksums for each file on both the client and server machines in a way that enables a transfer of just the differences between the two files; this uses more CPU resources, but minimizes bandwidth. [8]

Data storage

Version 3.x

BackupPC uses a combination of hard links and compression to reduce the total disk space used for files. At the first full backup, all files are transferred to the backend, optionally compressed, and then compared. Files that are identical are hard linked, which uses only one additional directory entry. The upshot is that an astute system administrator 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 (10 × 2 GB + 8 GB) would be used. [9] Compression of the data on the back-end will further reduce that requirement.

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

Version 4.x

Version 4.x can still use V3.x repositories, but all new backups use a new format (seamless upgrade). The overall performance is higher than with the V3.x version.

See also

Related Research Articles

<span class="mw-page-title-main">Cygwin</span> Unix subsystem for Windows machines

Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin's purpose is expressed in its motto: "Get that Linux feeling – on Windows".

The Secure Shell Protocol (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution.

rsync File synchronization protocol and software

rsync is a utility for efficiently transferring and synchronizing files between a computer and a storage drive and across networked computers by comparing the modification times and sizes of files. It is commonly found on Unix-like operating systems and is under the GPL-3.0-or-later license.

<span class="mw-page-title-main">Virtual Network Computing</span> Graphical desktop-sharing system

Virtual Network Computing (VNC) is a graphical desktop-sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse input from one computer to another, relaying the graphical-screen updates, over a network.

<span class="mw-page-title-main">Network-attached storage</span> Computer data storage server

Network-attached storage (NAS) is a file-level computer data storage server connected to a computer network providing data access to a heterogeneous group of clients. The term "NAS" can refer to both the technology and systems involved, or a specialized device built for such functionality.

Secure copy protocol (SCP) is a means of securely transferring computer files between a local host and a remote host or between two remote hosts. It is based on the Secure Shell (SSH) protocol. "SCP" commonly refers to both the Secure Copy Protocol and the program itself.

Linux Terminal Server Project (LTSP) is a free and open source terminal server for Linux that allows many people to simultaneously use the same computer. Applications run on the server with a terminal known as a thin client handling input and output. Generally, terminals are low-powered, lack a hard disk and are quieter and more reliable than desktop computers because they do not have any moving parts.

Filesystem in Userspace (FUSE) is a software interface for Unix and Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a bridge to the actual kernel interfaces.

NX technology, commonly known as NX or NoMachine, is a remote access and remote control computer software, allowing remote desktop access and maintenance of computers. It is developed by the Luxembourg-based company NoMachine S.à r.l.. NoMachine is proprietary software and is free-of-charge for non-commercial use.

<span class="mw-page-title-main">Sparse file</span>

In computer science, a sparse file is a type of computer file that attempts to use file system space more efficiently when the file itself is partially empty. This is achieved by writing brief information (metadata) representing the empty blocks to the data storage media instead of the actual "empty" space which makes up the block, thus consuming less storage space. The full block size is written to the media as the actual size only when the block contains "real" (non-empty) data.

IBM Storage Protect is a data protection platform that gives enterprises a single point of control and administration for backup and recovery. It is the flagship product in the IBM Spectrum Protect family.

<span class="mw-page-title-main">Buffalo network-attached storage series</span>

The Buffalo TeraStation network-attached storage series are network-attached storage devices.

<span class="mw-page-title-main">Time Machine (macOS)</span> Backup software application developed by Apple and distributed as part of macOS

Time Machine is the backup mechanism of macOS, the desktop operating system developed by Apple. The software is designed to work with both local storage devices and network-attached disks, and is most commonly used with external disk drives connected using either USB or Thunderbolt. It was first introduced in Mac OS X 10.5 Leopard, which appeared in October 2007 and incrementally refined in subsequent releases of macOS. Time Machine was revamped in macOS 11 Big Sur to support APFS, thereby enabling "faster, more compact, and more reliable backups" than were possible previously.

Duplicity, formerly known as Déjà Dup, is a software suite that provides encrypted, digitally signed, versioned, local or remote backup of files requiring little of the remote server. Released under the terms of the GNU General Public License (GPL), Duplicity is free software.

A home server is a computing server located in a private computing residence providing services to other devices inside or outside the household through a home network or the Internet. Such services may include file and printer serving, media center serving, home automation control, web serving, web caching, file sharing and synchronization, video surveillance and digital video recorder, calendar and contact sharing and synchronization, account authentication, and backup services. In the recent times, it has become very common to run literally hundreds of applications as containers, isolated from the host operating system.

This is a list of file synchronization software for which there are Wikipedia articles.

Box Backup is an open-source, completely automatic online backup system. The client software sends the backup data to the server. The data is encrypted using the Secure Sockets Layer (SSL) protocol and is also protected by a further layer of on-disk encryption.

<span class="mw-page-title-main">OpenMediaVault</span> NAS operating system

OpenMediaVault (OMV) is a free Linux distribution designed for network-attached storage (NAS). The project's lead developer is Volker Theile, who instituted it in 2009. OMV is based on the Debian operating system, and is licensed through the GNU General Public License v3.

The following outline is provided as an overview of and topical guide to the Perl programming language:

References

  1. "Releases - backuppc/backuppc" . Retrieved 2 November 2020 via GitHub.
  2. W. Curtis Preston (2007) Backup and Recovery O'Reilly Media, ISBN   978-0-596-10246-3
  3. Shawn Powers: Linux Journal: BackupPC Linux Journal, March 17, 2011.
  4. Falko Timme: Back Up Linux And Windows Systems With BackupPC, January 2007. Retrieved July 30, 2010.
  5. Shawn Powers: Linux Journal: BackupPC Linux Journal, March 17, 2011.
  6. Don Harper: BackupPC – Backup Central Archived 2010-03-18 at the Wayback Machine , May 2008. Retrieved July 30, 2010.
  7. Mike Petersen: Deploying BackupPC on SLES Archived 2011-12-17 at the Wayback Machine . February, 2008. Retrieved 30 Jul. 2010.
  8. Andrew Tridgell: Efficient Algorithms for Sorting and Synchronization, February 1999. Retrieved September 29, 2009.
  9. "BackupPC Documentation".