Backup with Affa and FreeDup

From SME Server
Jump to: navigation, search



The latest version of freedup is available in the SME repository, click on the version number(s) for more information.


There are situations in backup process that Affa (with or without Rsync) can't handle well.

Imagine backing up user files in a company where documents are distributed on regular basis. It is very likely that all of your users will have a copy of the same file in their documents.

Freedup walks through the file trees (directories) you specify. When it finds two identical files on the same device, it hard links them together. In this case two or more files still exist in their respective directories, but only one copy of the data is stored on disk; both directory entries point to the same data blocks.

Rsync partially does this, but it won't search for identical files within your backup. This software does just that.

This document describes the installation and configuration options of the freedup in Affa's post job for the purpose to reclaim free space on your disk occupied by duplicate files.



The FreeDup package is in the Dag repository, if you have not installed it already you need to do that first. You need to activate the Dag reposity before installing this contrib.

see dag repository

To install the package issue the following command:

yum install freedup --enablerepo=dag


To install the package issue the following command:

yum install freedup --enablerepo=smecontribs,smedev


To use FreeDup with Affa, first install and setup latest version of Affa. Installation instructions for Affa can be found here.

Then add this

freedup -Tv <insert your directory with backups>



Command line options are beyond the scope of this document, in my case I only use -T to preserve timestamps and -v for some verbosity.

Various Tests

To see how much your backup occupies, you may find these commands below useful.

Find out real, physical space occupied by your backup:

du -sh <insert your directory with backups>

Find out the space occupied by your backup if you weren't using hardlinks (counts sizes many times if hard linked):

du -shl <insert your directory with backups>

Find out what files are hardlinked:

find <insert your directory with backups> -xdev -type f -links +1 -printf '%i %p\n' | sort -n > links.txt
Important.png Note:
Please be aware that once you launch FreeDup, it can take several hours to complete, depending on the size of backups as it its algorithm is making sure that files that are to be hardlinked are the same.

Important.png Note:
Also, make sure you have the latest version of Affa installed. At the time of writing this document, it was Affa 1.0.0-2.

User experience

In my case I saved ONE THIRD of the backup diskspace on one single backup alone. And what is more, FreeDup found more identical files within backups' trees themselves, hence correcting Rsync and saving me terabytes of space.

Without FreeDup's hardlinks my current off-site backup would be 3.4TB, but instead it is only 270MB. That is 12 backups in total - 3x monthly, 4x weekly and 5x daily backups + the current backup running. - Giskaard (talk | contribs)


Personal tools
Koozali SME Server wiki