- .../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.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.