.../opt/storeBackup.)1
You need root permissions to install storeBackup at /opt/storeBackup and to follow the next steps. You can also unpack and run storeBackup from a place where you do not have root permissions. If you start storeBackup without root permissions, it will run with the permissions you have at that moment.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... command):2
If you install storeBackup from the Debian or Ubuntu repository via the packet manager, all programs will come without the ``.pl'' at the end, so instead of storeBackup.pl you have to call storeBackup.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... storeBackup.pl.3
see installation if you do not know what this means
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...multitail.4
Debian and Debian dependent distributions remove the .pl from the names of the storeBackup programs.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... SSH5
see FAQ4 for details about making a backup via SSH
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... NFS6
See section 7.10 how to configure NFS properly - you must have write access to the directory where you want to save your backup. If you are root, you should have root permissions on this mounted directory.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... flexible7
If you want to backup more than one top-level directory tree at a time, you should have a look at option followLinks in section 6.2.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... storeBackupUpdateBackup.pl8
This is only necessary if you use storeBackup.pl with option lateLinks. The necessary time for running storeBackupUpdateBackup.pl can be seen in Example of a Run.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...async9
see configuring nfs
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... vpn10
The vpn software was openvpn, the connection was tunneled trough several firewalls.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... lines.11
You also can exclude too big files with the option exceptRule of storeBackup.pl from the backup and save them later when you have access to a better line.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... PID12
process ID
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... series.13
The logic behind the suppressWarning option is that repeated non-critical warnings can cause the user to ignore most warnings in general. Here is an example of how you could benefit from this option. Say you have defined a list of directories to exclude from the backup such as temporary directories. Sometimes you limit your list of included directories also. If you limit the included directories in such a way that the excluded directories are not part of the backup, storeBackup would normally generate a warning for every such ``missing'' excluded directory. However, you may choose to leave the excluded directories defined in the configuration file because when you expand your included directory list you do not want to risk forgetting to again define the excluded directories. But you also do not want the warnings because too many non-critical warnings might prevent you from seeing an important one. In that situation, you can use this option. It means that when altering your included directories list, you only have to make one change (includeDirs) rather than two changes (includeDirs and exceptDirs).
However, there is a situation where using this option to suppress warnings of missing excluded directories could have a negative consequence. Say you have an excluded temporary directory named testing that you do not want to back up. Now you rename testing to app1_testing but you still do not want it to be backed up. If you do not update your storeBackup config file, and if app1_testing is under an included directory, it will now be backed up. However, if you have not suppressed this class of warning, storeBackup will alert you that testing (the previously excluded directory name) cannot be found. That will probably remind you of your change and let you update your configuration. So use this option with caution. If you are not sure whether you should use it, you probably should not.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... PID14
process ID
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...storeBackupMergeIsolatedBackup.pl15
see storeBackupMergeIsolatedBackup.pl
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...storeBackupUpdateBackup.pl16
see storeBackupUpdateBackup.pl
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... broken.17
This is not a 100% safety. It is still possible that e.g. a memory fault corrupts reading of the source data, so the check sum and the data itself are stored corrupted. In this case storeBackupCheckSource.pl increases your safety. But in general, the only protection against those issues is completely redundant hardware which is very expensive.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... (different18
This means that either the md5 sum in the backup meta data is wrong or that you had to bit rot somewhere. (Naturally, it may also be that the data is wrong for any other reason, like faults in the RAM of your box or a fault in storeBackup.)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...exceptRule19
In section ``Selecting Directories / Files to Backup'' you will get an overview about different options to include / exclude files or directories.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... taken!20
This is compatible to the behavior before the introduction of compression Suffix and COMPRESSION_CHECK.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... computers.21
see section 6.2, option otherBackupSeries to see how this can be configured.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... stick.22
We refer to using a memory stick for traveling, but this storage can be any kind of storage you wish to use, including a large HDD.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... mode23
This isn't really a limitation, but if you are not using configuration files presently, you should probably begin to use them to take full advantage of this mode because it is easier and more convenient.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... repository.24
Integration could be done with linkToDirs.pl, but isolatedMode does not need memory for whole backups, is more convenient and quicker in the present user case.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... needed25
See section 7.7.1. Depending on the usage of storeBackupSetupIsolatedMode.pl, it will generate a new configuration file from your existing configuration.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ones.26
This means it will do compression, hard linking, setting date/time, permissions and ownership.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... files.27
I assume all programs of storeBackup to be in $PATH so they can be called without a path.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... stick.28
This is true in this simple example. But if you copy multiple backup series via storeBackupSetupIsolatedMode.pl to your local backup, you can also adjust this option to cross link between them - but only if both series are available with the same series names (paths) in the master backup also.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... file29
That's the file .storeBackupLinks/linkFile.bz2 inside the root directory of the backup which was just created.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.../deltaCache/processedBackups.30
These deltas are not deleted directly for safety reasons. You can set the storage time for this kind of data with the option --archiveDurationDeltaCache and --dontDelInDeltaCache of program storeBackupUpdateBackup.pl.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... replicate).31
This restriction may go away in the future
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... weekly.32
If you want to realize a continuous replication to another location - that's also possible. But for this explanation, we'll assume a single external offsite disk because this is a common and suitable strategy. The mechanisms used are the same for both use cases. You can also use more than one external disk. Let's say you have two external copies and replicate the backups alternating every week to them. Then you can use the same mechanisms as for one disk. The only difference is to describe both disks in the configuration files and to connect another one each week.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... disk.33
This means you will need much more space for the backup copy than for your master backup.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... week34
or if we want a replication to another (online) location with no direct routing between the master backup and the backup copy
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... cache".35
storing in the delta cache is done only if you use replication
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... trees.36
In practice, the four conceptual locations can become more than four physical storage locations because replication is not limited to a single copy of a single backup.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... backup''37
It is not supported to have multiple master backups replicating to the same one and only deltaCache. Although it is untested and unsupported, it might work (with different series names).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... copy''38
In practice there may be any number of ``backup copy'' directory trees.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... trees.39
What this means is that the directory trees are not nested. None of the three replication-specific directories is allowed to be a subdirectory of the others. The deltaCache can be nested under the source tree if it is excluded from the backup via storeBackup.pl options.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... data.40
In storeBackup, a ``master backup'' is a backup series (or, potentially, a set of backup series). It is called a series because this directory will hold a series of backups (e.g., one each day) for your computer. See section 5.4.1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... replication.41
Replication can be used to produce multiple copies of the master backup at different locations.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... file42
You can also use command line options, but finally that's more complicated.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... job.43
For the second one, you should double check if the external disk is connected.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... contents:44
The ``rules'' for the configuration file are the same as for all other configuration files.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... file45
That's the file .storeBackupLinks/linkFile.bz2 inside the root directory of the backup which was just created.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... contents:46
The ``rules'' for the configuration file are the same as for all other configuration files.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... content:47
The ``rules'' for the configuration file are the same as for all other configuration files.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... deltaCache.48
As opposite to value 'master' which tells storeBackupUpdateBackup.pl to copy the deltas to the deltaCache.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.../deltaCache/processedBackups.49
These deltas are not deleted directly for safety reasons. You can set the storage time for this kind of data with the option --archiveDurationCopyStation and --dontDelInCopyStation of the program storeBackupUpdateBackup.pl.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... replicate).50
This restriction may become obsolete in the future.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... run:51
linkToDir.pl is delivered with storeBackup
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... case.52
If you use the minus sign on the command line, do not forget to mask it with --, so storeBackup knows it is not an option!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... log:53
The series directories have to exist before starting the command so the wildcards can be expanded!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... sense.54
Up to version 3.4.3, an interrupted backup is identified by the existence of flag file .md5CheckSums.notfinished. Starting with version 3.5, an interrupted backup can be identified by the absence of .storeBackupLinks/backup.Finished.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...uncompress).55
The information if a file is compressed is stored in .md5CheckSums.bz2: in the second column c stands for "compressed" and u stands for "uncompressed".
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... backup.56
It is not the same as a ``real'' incremental backup, because there is also information about the missing parts (completed later via hard links).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... copy57
It is a good idea to use linkToDirs.pl for copying because then you can mostly hard link the files against the existing ones. linkToDirs.pl knows nothing about storeBackup's logic and its meta files - therefore you can use it with every type of data; also with non-completed backups or whatever.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... realized:58
To make the explanations easy to understand, the directory names in the example above are used.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.