(Last Updated On: May 5, 2019)

Introduction

Backup is one essential way to ensure that you cushion your business against total disaster in case there is a major outage or accidental deletion of your precious data. Backup is a trusted disaster recovery technique and since it is almost imperative, this article provides you with a list of easy to use backup tools you can consider to use. It dissects their features and what they can offer. Feel free to try any that befits your needs.

1. Restic

Restic written in Go programming language, is an open source, fast, secure and cross-platform backup program. This back up tool encrypts the data with AES-256 in counter mode and authenticates it using Poly1305-AES cryptographic message authentication code.

Features of Restic

  • Easy to use: Restic is easy to configure and use, so that, in the event of a data loss, you can just restore it. is needed for the files that are to be restored, so that this process is also fast.
  • Verifiable: Much more important than backup is restore, so restic enables you to easily verify that all data can be restored.
  • Secure: Restic uses cryptography to guarantee confidentiality and integrity of your data. Restic is built to secure your data against attackers.
  • Efficient: With the growth of data, additional snapshots should only take the storage of the actual increment.
  • Free: restic is free software and licensed under the BSD 2-Clause License
  • Support for multiple backends: Restic supports the following backends for storing backups natively:
  • Local directory
  • sftp server (via SSH)
  • HTTP REST server (protocol rest-server)
  • AWS S3 (either from Amazon or using the Minio server)
  • OpenStack Swift
  • BackBlaze B2
  • Microsoft Azure Blob Storage
  • Google Cloud Storage
  • Reproducible Builds: Binaries released with each restic version starting at 0.6.1 are reproducible. This means that you can easily reproduce a byte identical version from the source code for that release.

Find out more on Restic Github page

2. Borg

As a deduplicating backup program, Borg aims to provide an efficient and secure way to backup data.
FYI: data deduplication is a technique for eliminating duplicate copies of repeating data. Since the technique used to backup data is deduplication, this makes Borg suitable for daily backups because only changes are stored.

Features of Borg Backup

  • Borg is a Free and Open Source Software: It is licensed under the BSD (3-clause) license
  • Quick and Easy installation on multiple platforms– Borg backup can run on: Linux, Mac OS X, FreeBSD, OpenBSD and NetBSD (no xattrs/ACLs support or binaries yet), Cygwin (experimental, no binaries yet), Linux Subsystem of Windows 10 (experimental).
  • Support for Compression: If you need your backup to be compressed which is optional, you will be interested to learn that all data can be compressed with the following utilities: zlib (medium speed and compression), lzma (low speed, high compression), lz4 (super fast, low compression), zstd (wide range from high speed and low compression to high compression and lower speed).
  • Support for remote-host backends: Borg backup tool can store data on any remote host accessible over Secure Shell (SSH). If Borg is installed on the remote host, big performance gains can be achieved compared to using a network filesystem such as nfs and others.
  • Security: Data on the client side can be encrypted using 256-bit AES encryption algorithm. Verification of the same encrypted data can be done using HMAC-SHA256
  • Speed: local caching of files/chunks index data, quick detection of unmodified files, C/Cython is used in performance critical code such as chunking, compression, and encryption.
  • Space efficient storage– As it had been pointed out earlier, Borg is a deduplicating backup program. What is amazing is that to deduplicate, all the chunks in the same repository are considered, no matter whether they come from different machines, from previous backups, from the same backup or even from the same single file.

Unlike other deduplication techniques, Borg does not depend on the following:

  • file/directory names staying the same: So you can move your stuff around without killing the deduplication, even between machines sharing a repo.
  • Complete files or time stamps staying the same: If a big file changes a little, only a few new chunks need to be stored – this is great for VMs or raw disks.
  • The absolute position of a data chunk inside a file: Stuff may get shifted and will still be found by the deduplication algorithm.

More details can be found at borgbackup page.

3. Duplicati

Duplicati is one of the many backup clients that is free, open source, and securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers. This baackup tool achoeves the philosophy of keeping data safe, storing it far away and updating hte backup regularly. Duplicati has a built-in scheduler, so that it’s easy to have a regular, up-to-date backup.

Features of Duplicati

  • Integrated updater notifies you when a new release is out
  • Duplicati uses AES-256 encryption (or GNU Privacy Guard) to secure all data before it is uploaded.
  • Duplicati uploads a full backup initially and stores smaller, incremental updates afterwards to save bandwidth and storage space.
  • A scheduler keeps backups up-to-date automatically.
  • Encrypted backup files are transferred to targets like FTP, Cloudfiles, WebDAV, SSH (SFTP), Amazon S3 and others.
  • Duplicati allows backups of folders, document types like e.g. documents or images, or custom filter rules.
  • Duplicati is available as application with an easy-to-use user interface and as command line tool.
  • Duplicati can make proper backups of opened or locked files using the Volume Snapshot Service (VSS) under Windows or the Logical Volume Manager (LVM) under Linux. This allows Duplicati to back up the Microsoft Outlook PST file while Outlook is running.
  • Duplicati uses AES-256 encryption (or GNU Privacy Guard) to secure all data before it is uploaded. Your data is therefore kept safe from the bad guys.
  • Duplicati uploads a full backup initially and stores smaller, incremental updates afterwards to save bandwidth and storage space.
  • A scheduler keeps backups up-to-date automatically.
  • A large enthusiatic community ready to help you in case of any errors and problems.

Check Duplicati Github Page for more information

4. Bacula

Bacula is is a backup tool that can be used to manage backup, recovery, and verification of computer data across a network of computers of different kinds or on one server. Bacula has the capability of backing up to various types of media, including tape and disk.

Features of Bacula

  • Client–server TCP/IP communication uses standard ports and services instead of RPC for NFS, SMB, etc.; this eases firewall administration and network security
  • CRAM-MD5 – configurable client–server authentication
  • Client-side compression using GZIP/LZO to reduce network bandwidth consumption; this runs separate from hardware compression done by the backup device
  • Support for TLS network communication encryption
  • Bacula uses MD5/SHA algorithms to verify file integrity
  • CRC – verify data block integrity
  • Data ecnryption using PKI
  • Network Data Management Protocol available in enterprise version plugin
  • Bacula is open-source and released under the AGPL version 3 license
  • Bacula supports Linux, UNIX, Windows, and macOS backup clients

Visit Bacula Website for more

5. Bareos

From their site, Bareos (Backup Archiving Recovery Open Sourced) is a reliable, cross-network open source software for backup, archiving and recovery of data for all well-established operating systems.

Features of BareOS

  • LTO hardware encryption
  • Bandwidth limitation: You can now add a bandwidth limitation in the client resource definition
  • New practical console commands
  • Windows Drive Discovery- Available windows drives can now be automatically discovered which was not the case previously
  • Quota feature: With the bareos quota code, it is possible to limit the amount that a certain client is able to backup.
  • Security- Password authentication now happens via PAM (pluggable authentication modules) on the WebUI, so it’s no longer necessary to include plain text passwords in the configuration file
  • Scalability- BareOs scales from single computers to enterprise installations of hundreds of entities.

For more information check BareOS Website

6. Barman

Barman (Backup and Recovery Manager) is an open-source administration tool for disaster recovery of PostgreSQL servers written in Python (pgbarman.org, 2019). Barman allows organisations to perform remote backups of multiple servers in business critical environments and help Database Admins during the recovery phase.

Features of Barman

Barman has very many features that are constantly on demand by clients which include the following:

  • Full hot physical backup of a PostgreSQL server
  • Point-In-Time-Recovery (PITR)
  • Management of multiple PostgreSQL servers simultaneously
  • Remote backup via rsync/SSH or pg_basebackup (including a 9.2+ standby)
  • Support for both local and remote (via SSH) recovery
  • Support for both WAL archiving and streaming
  • Support for synchronous WAL streaming (“zero data loss”, RPO=0)
  • Incremental backup and recovery
  • Parallel backup and recovery
  • Hub of WAL files for enhanced integration with standby servers
  • Management of retention policies for backups and WAL files
  • Server status and information
  • Compression of WAL files (bzip2, gzip or custom)
  • Management of base backups and WAL files through a catalogue
  • A simple INI configuration file
  • Totally written in Python
  • Relocation of PGDATA and tablespaces at recovery time
  • General and disk usage information of backups
  • Server diagnostics for backup
  • Integration with standard archiving tools (e.g. tar)
  • Pre/Post backup hook scripts
  • Local storage of metadata

Please check Barman Site for more information.

7. BackupPC

What is BackupPC?
BackupPC is a high-performance, enterprise-grade system for backing up Linux, Windows and macOS PCs and laptops to a server’s disk. BackupPC is highly configurable and easy to install and maintain (backuppc.github.io, 2019)

Feaatures of BackupPC

  • Data deduplication: Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O
  • Open-source
  • Web interface allows administrators to view log files, configuration, current status and allows users to initiate and cancel backups and browse and restore files from backups
  • No client-side software is needed. The standard smb protocol is used to extract backup data on Windows clients. On Linux clients, tar over ssh/rsh/nfs is used to backup the data. With version 2.0.0, rsync is also supported on any client that has rsync or rysncd.
  • A powerful web (http/cgi) user interface allows administrators to view log files, configuration, current status and allows users to initiate and cancel backups and browse and restore files from backups.
  • A full set of restore options is supported, including direct restore (via smbclient, tar, or rsync/rsyncd) or downloading a zip or tar file.
  • Supports mobile environments where laptops are only intermittently connected to the network and have dynamic IP addresses (DHCP).
  • Flexible configuration parameters allow multiple backups to be performed in parallel, specification of which shares to backup, which directories to backup or not backup, various schedules for full and incremental backups, schedules for email reminders to users and so on. Configuration parameters can be set system-wide or also on a per-PC basis.
  • Users are sent periodic email reminders if their PC has not recently been backed up. Email content, timing and policies are configurable.
  • Tested on Linux, Freenix and Solaris hosts, and Linux, Windows 95, 98, 2000 and XP clients.
  • Optional compression support further reducing disk storage.
  • A clever pooling scheme minimizes disk storage and disk I/O (Source backuppc.github.io, 2019)

Check more details at BackupPC Page

8. Bup

From their main documentation site, Bup is a very efficient backup system based on the git packfile format, providing fast incremental saves and global deduplication (among and within files, including virtual machine images) https://bup.github.io, 2019.

Cool features of Bup that make it stand out from the rest

  • It uses a rolling checksum algorithm (similar to rsync) to split large files into chunks. The reason this is beneficial is because you can backup huge virtual machine (VM) disk images, databases, and XML files incrementally.
  • It uses the packfile format from git (the open source version control system), so you can access the stored data even if you don’t like bup’s user interface.
  • It’s written in python (with some C parts to make it faster) so it’s easy for you to extend and maintain.
  • Bup can use “par2” redundancy to recover corrupted backups even if your disk has undetected bad sectors.
  • You can back up directly to a remote bup server, without needing tons of temporary disk space on the computer being backed up
  • You can resume your backup in case it is interrupted right where it left from
  • Unlike git, it writes packfiles directly (instead of having a separate garbage collection / repacking stage) so it’s fast even with gratuitously huge amounts of data.
  • Data is “automagically” shared between incremental backups without having to know which backup is based on which other one

More features and details can be found on Bup Page

9. Lsyncd

Designed to synchronize a slowly changing local directory tree to a remote mirror, Lsyncd uses a filesystem event interface (inotify or fsevents) to watch for changes in local files and directories. Lsyncd collates these events for several seconds and then spawns one or more processes to synchronize the changes to a remote filesystem. The default synchronization method is rsync.

Features

  • Lsyncd is a light-weight live mirror solution.
  • Lsyncd is comparatively easy to install
  • Lsyncd does not require new filesystems or block devices
  • Unlike rsync, Lysncd does not hamper local filesystem performance.

More details are on Lsyncd

10. Rclone

Rclone (“rsync for cloud storage”) is a command line program to sync files and directories to and from different cloud storage providers. It has support for cloud providers such as Amazon S3, Amazon Drive, Box, Ceph, DigitalOcean Spaces, Dropbox, Google Cloud Storage, Google Drive, Mega, and many others.

Features of Rclone

  • MD5/SHA-1 hashes checked at all times for file integrity
  • Timestamps preserved on files
  • Partial syncs supported on a whole file basis
  • Copy mode to just copy new/changed files
  • Sync (one way) mode to make a directory identical
  • Check mode to check for file hash equality
  • Can sync to and from network, e.g. two different cloud accounts
  • Optional encryption (Crypt)
  • Optional cache (Cache)
  • Optional FUSE mount (rclone mount)

Check more on https://rclone.org

Other related articles are listed below

Protecting Your Online Business in 2019

Learn Cloud Computing From Scratch

Cloud Computing 101 Bundle

DevOps with Cloud Computing Bundle