storeBackup is a disk-to-disk backup tool for GNU/Linux based on hard links. Have a look at the picture:
Imagine you have two computers you want to backup onto one file server via NFS6. (Even if you only want to backup on an external disk (e.g., usb or e-sata), you should also read the following to understand the basic parameters.)
The default values of all storeBackup options are designed in a way that you can use storeBackup with only two options: - -sourceDir and - -backupDir. (The shortforms of these two options are -s and -b.) Everything else works with acceptable default values. The way you can define soureDir is very flexible7
First, you have to define a ``backupDir'' directory, where all your backups will reside. This is called the master backup repository. Let's say, this is /my_master_backup. To separate your different backups from multiple computers, you will make a separate directory for each; in the illustration, it is computer1 and computer2.
In storeBackup terminology, computer1 is a series and computer2 is a series. The term "series" is used because e.g. computer1 will contain a set of sequential backups (i.e., a series) that belong to computer1. These are shown as backup 1, backup 2 and backup 3 in the illustration.
You will identify these directories each as a ``series'' in storeBackup's configuration file. The full path to these directories is /my_master_backup/computer1 and /my_master_backup/computer2. In each ``series'' directory you will generate a series of backups for the sourceDir on the computer associated with that series. You will see that it is all organized very logically and the organization is natural and easy to follow.
storeBackup will find all files that already exist in your backup repository (``my_master_backup'') with the same content (either within a single backup or across multiple backups, or even across multiple backups for multiple computers!).
storeBackup will hard link all these files to only one inode. Changing names or paths of the files does not present a problem, because storeBackup can tell if files are the same based on the content. In the picture above, you see that in backup 3 of computer 1 the location of the file has moved (perhaps also renamed), or in backup 2 of computer 2 the file has been copied. StoreBackup will recognize this and always link to the same inode.
storeBackup supports multiple series of backups (e.g., daily or weekly backups) from different sources (e.g., different servers or workstations). As mentioned, the default name for a series is default. However, if you plan to back up multiple computers, each series should be configured with a name that describes the computer (e.g., the source) using the - -series option (short form -S) on the command line or simply "series" in the config file. See storeBackup.pl.
The next few sections will go into further details about the details of how storeBackup works.
Heinz-Josef Claes 2014-04-20