Attic

Attic is the candidate in this list of backup programs which managed to convince me entirely. It has a lot in common with the one I've written about below, i.e., Obnam: it is written in python and offers very similar features, namely, snapshot backups, data de-duplication across files and backup generations, and optional AES (instead of GPG) encryption. It's available for Debian (Jessie and Sid) and Archlinux, and for all others (including Debian Wheezy and Fedora) you can use use 'pip install attic' instead.

Attic doesn't have a separate configuration file. The following bash script handles everything:

#!/bin/bash
#https://attic-backup.org/quickstart.html#quickstart
#http://peterjolson.com/full-system-backup-using-attic-backup-to-nfs/
ionice -c3 -p$$
repository="cobra@blackvelvet:/bam/backup/attic/deepgreen"
excludelist="/home/cobra/bin/exclude_from_attic.txt"
hostname=$(echo $HOSTNAME)
notify-send "Starting backup"
  attic create --stats                                  \
    $repository::$hostname-`date +%Y-%m-%d--%H:%M:%S`   \
    /home/cobra                                         \
    --exclude-from $excludelist                         \
    --exclude-caches
notify-send "Backup complete"
  attic prune -v $repository --keep-within=1d --keep-daily=7 --keep-weekly=4 --keep-monthly=6

Attic is a little more verbose than Obnam in its reports:

Date: Thu,  4 Sep 2014 19:00:31 +0200 (CEST)
From: "(Cron Daemon)" cobra@blackvelvet.localdomain
To: cobra@blackvelvet.localdomain
Subject: "Cron" cobra@blackvelvet; /home/cobra/bin/backup.attic

Archive name: blackvelvet-2014-09-04--19:00:04
Archive fingerprint: e20c50dbdf43f9d31ee138338aab929ae78d82e4564bf6f05f55edd439a73e35
Start time: Thu Sep  4 19:00:04 2014
End time: Thu Sep  4 19:00:31 2014
Duration: 27.40 seconds
Number of files: 166064

       Original size      Compressed size    Deduplicated size
This archive:               41.71 GB             30.56 GB             21.05 MB
All archives:              995.98 GB            732.81 GB             26.54 GB
------------------------------------------------------------------------------
Keeping archive: blackvelvet-2014-09-04--09:00:01     Thu Sep  4 09:00:29 2014
Keeping archive: blackvelvet-2014-09-04--08:00:01     Thu Sep  4 08:00:31 2014
Keeping archive: blackvelvet-2014-09-04--07:00:01     Thu Sep  4 07:00:33 2014
Keeping archive: blackvelvet-2014-09-03--23:00:01     Wed Sep  3 23:00:23 2014
Keeping archive: blackvelvet-2014-09-03--22:00:01     Wed Sep  3 22:00:29 2014
Keeping archive: blackvelvet-2014-09-03--21:00:01     Wed Sep  3 21:00:29 2014
Keeping archive: blackvelvet-2014-09-03--20:00:01     Wed Sep  3 20:00:27 2014
Keeping archive: blackvelvet-2014-08-31--23:00:01     Sun Aug 31 23:00:24 2014
Keeping archive: blackvelvet-2014-08-30--23:00:01     Sat Aug 30 23:00:27 2014
Keeping archive: blackvelvet-2014-08-29--07:53:53     Fri Aug 29 07:54:13 2014
Keeping archive: blackvelvet-2014-08-28--22:31:53     Thu Aug 28 22:32:18 2014
Pruning archive: blackvelvet-2014-09-03--19:00:01     Wed Sep  3 19:00:25 2014
Pruning archive: blackvelvet-2014-09-03--18:00:01     Wed Sep  3 18:00:22 2014
Pruning archive: blackvelvet-2014-09-03--17:00:01     Wed Sep  3 17:00:26 2014
Pruning archive: blackvelvet-2014-09-03--16:00:01     Wed Sep  3 16:00:24 2014
Pruning archive: blackvelvet-2014-09-03--15:00:01     Wed Sep  3 15:00:26 2014
Pruning archive: blackvelvet-2014-09-03--14:00:01     Wed Sep  3 14:00:23 2014
Pruning archive: blackvelvet-2014-09-03--11:00:01     Wed Sep  3 11:00:23 2014
Pruning archive: blackvelvet-2014-09-03--10:00:01     Wed Sep  3 10:00:26 2014

I've decided to use Attic instead of Obnam for one main reason: speed. On the mini, the slowest member of my computing batallion, 15000 files occupying 4.7 GB take 17 s to backup for Attic, but 95 s for Obnam. On blackvelvet, the fastest by far, 165000 files occupying 42 GB take 25 s instead of 70 s.

What are the most important factors determining Attic's performance? Well, it depends. If you backup to a remote location, your upload speed may ultimately limit the overall speed. If that's not the case, since you're in a GBit LAN or backup to an internal hard disk, it still depends. If a lot of files have to be accounted for, the critical factor is the I/O performance of the mass storage device you're using. In the opposite case, Attic puts a 100% load on one core of your CPU independent of its performance class. Attic is thus utilizing the available resources quite nicely. Consequently, the performance of Attic can be roughly scaled with the file number for machines with comparable performance. For example, my lifebook here at home has 16000 files spread over 3.3 GB, and it takes Attic a mere 6 s for a snapshot. My office computer has essentially the same disk and cpu performance (Core 2 Duo class CPU, 320 GB HD), but more data: 255000 files (x15) spread over 67 GB (x20) taking 90 s (x15).

Three more remarks:

Attic's deduplication and compression schemes are apparently more efficient than those of Obnam, since the total size of the repository with a similar number of snapshots is significantly smaller. Those obtained by rsnaphot or rdiff-backup are anyway much larger since these tools do not compress the data.

A backup to a remote location is accelerated if Attic is installed on both, client and server. However, you can still backup to an atticless server using sshfs (with a small performance hit).

Finally, you can restore your data in the same way as with Obnam, namely, by mounting the repository:

attic mount cobra@blackvelvet:/bam/backup/attic/deepgreen /home/cobra/attic_mnt/

Nice.