Questions:
I
restore/save all files but dar reported some files have been ignored,
what are those ignored files?
Dar
hangs when using it with pipes, why?
Why, when I restore 1
file, dar report 3 files have been restored?
While
compiling dar I get the following message : " g++: /lib/libattr.a: No
such file or directory", what can I do?
I
cannot find the binary package for my distro, where to look for?
Why,
does dar reports "ignored" files while I make a backup without
filter?
Can I
use different filters between a full backup and a
differential backup? Would not dar consider some file not included in
the filter to be deleted?
Once in action dar
makes all the system slower and slower, then it stops with the message
"killed"! How to overcome this problem?
I
have a backup I want to change the size of slices?
I have
a backup in one slice, how can I split it in several
slices?
I
have a backup in several slice, how can I stick all them
in a single file?
I
have a backup, how can I change its encryption scheme?
I
have a backup, how can I change its compression
algorithm?
Which
options can I use with which options?
Why
dar reports corruption for the archive I have transfered with FTP ?
Answers:
I restore/save all files but dar reported some files have
been ignored, what are those ignored files?
When restoring/saving, all
files are
considered by default. But if you specify some files to restore or
save, all other files are "ignored", this is the case when using -P -X
-I or -g.
Dar hangs when using it with pipes, why?
Dar can produce archive on its
standard output, if you give '-' as
basename. But it cannot read an archive from its standard input. To
feed an archive to dar through pipes, you need dar_slave and two pipes.
The first pipe transmits orders from dar to dar_slave that tell
dar_slave the requested portion of the archive, the second pipe goes
the other way and carries from dar_slave the data requested by dar.
This way, only needed data get transmitted over pipes, which cannot be
possible with a single pipe.
Why, when I restore 1 file, dar report 3 files have been
restored?
if you restore for example the
file usr/bin/emacs dar will first
restore usr (if the directory already exists, it will get its date and
ownership restored, all existing files will be preserved), the /usr/bin
is restored, then usr/bin/emacs is restored. Thus 3 inodes have been
restored or modified while only one file has been asked for restoration.
While compiling dar I get the following message : "
g++: /lib/libattr.a: No such file or directory", what can I do?
The problem comes from an
incoherence in your distro (Redhat and Slackware seem(ed) concerned at
least): Dar (Libtool) finds
/usr/lib/gcc-lib/i386-redhat-linux/3.3.3/../../../libattr.la file
to link with. This file defines where is located libattr static and
dynamic libraries but in this file both static and dynamic libraries
are expected to be found under /lib. While the dynamic libattr is
there, the static version has been moved to /usr/lib. A
workaround is to make a symbolic link:
ln -s /usr/lib/libattr.a
/lib/libattr.a
I cannot find the binary package for my distro, where to
look for?
For any binary package, ask
your distro maintainer to include dar (if
not already done), and check on the web site of your preferred distro
for a dar package
Why, does dar reports "ignored" files while I make a
backup without filter?
If you give to dar an argument
which is not an option, up to version
2.2.x it is interpreted as "to save that file only". Let's take an
example:
dar -c my-files -y -s
2045M data
reports
--------------------------------------------
31754 inode(s) saved
with 0 hard link(s) recorded
0 inode(s) not saved (no file change)
0 inode(s) failed to save (filesystem error)
-> 147 files(s) ignored (excluded by filters)
0 files(s) recorded as deleted from reference backup
--------------------------------------------
the 147 files are due to the
fact dar has excluded 147 files and
directories which are not "data" in the current directory. Note also
that the use arguments out of options like "data" is deprecated since
version 2.2.0, you would rather use -g option:
dar -c my-files -y -s
2045M -g
data
In version 2.3.x such arguments
which are not options will have another
meaning. Note that starting version 2.3.x the option -vs will report
those entry
that are skipped.
Can I use different filters between a full backup and a
differential backup? Would not dar consider some file not included in
the filter to be deleted?
Yes, you can. No, there is no
risk to have dar deleting the files that
were not selected for the differential backup. Here is the way dar
works:
During a backup process, when a
file is ignored due to filter
exclusion, an "ignored" entry is added to the catalogue however. At the
end of the backup, dar compares both catalogues the one of reference
and the new one built during the backup process, and adds a "detruit"
(destroyed in English) entry, when an entry of the reference is not
present in the new catalogue. Thus, if an "ignored" is present no
"detruit" will be added for that name. Then all "ignored" entries are
removed and the catalogue is dumped in the archive.
Once in
action dar
makes all the system slower and slower, then it stops with the message
"killed"! How to overcome this problem?
Dar needs virtual memory to
work. Virtual memory is the RAM + SWAP
space. Dar memory requirement grows with the amount of file saved, not
with the amount of data saved. If you have a few huge files you will
have little chance to see any memory limitation problem. At the
opposite, saving a plethora of files (either big or small), will make
dar request a lot of virtual memory. Dar needs this memory to build the
catalogue (the contents) of the archive it creates. Same thing, for
differential backup, except it also needs to load in memory the
catalogue of the archive of reference, which most of the time will make
dar using twice more memory when doing a differential backup than a
full backup.
Anyway, the solution is:
- Read the doc/LIMITATIONS file to understand the problem and
be
aware of the limitations you will bring at step 3, bellow.
- If you can, add swap space to your system (under Linux, you
can
either add a swap partition or a swap file, which is less constraining
but also a bit less impressive). Bob Barry provided a script that can
give you a raw estimation of the required virtual memory
(doc/samples/dar_rqck.bash).
- If this is not enough, or if you don't want/can add swap
space,
recompile dar giving --enable-mode=64 argument to the configure script.
- If this not enough, and you have some money, you can add
some RAM
on you system
- If all that fails, ask for support on the dar-support
mailing-list.
There is still a workaround
which is to make several smaller archives
of the files to backup. For example, make a backup for all in
/usr/local another for all in /var and so on. Theses backup can be full
or differential. The drawback is not big as you can store theses
archive side by side and use them at will. Moreover, you can feed a
unique dar_manager database with all theses different archives. This
which will hide you the fact that there are several full archives and
several differential archives concerning different set of files.
I have a backup I want to change the size of slices?
dar_xform is your friend!
dar_xform -s <size>
original_archive new_archive
dar_xform will create a new
archive with the slices of the requested
size, (you can also make use of -S option for the first slice). Note
that you don't need to decrypt the archive, not dar will uncompress it,
this is thus a very fast processing. See dar_xform man page for more.
I have a backup in one slice, how can I split it in
several slices?
dar_xform is your friend!
dar_xform -s <size>
original_archive new_archive
see above for more.
I have a backup in several slice, how can I stick all
them in a single file?
dar_xform is your friend!
dar_xform original_archive new_archive
dar_xform without -s option creates a single sliced archive. See
dar_xform man page for more.
I have a backup, how can I change its encryption scheme?
The merging feature let you do
that. The merging has two roles, putting
in one archive the contents of two archives, and at the same time
filtering file contents to not copy certain files in the resulting
archive. The merging feature can take two but also only one archive as
input, so we will use it in a special way:
- a single input (our original archive)
- no file filtering (so we keep all the files)
- Keep files compressed (no decompression/re compression) to
speed
up the process
dar
-+ new_archive -A
original_archive -K "<new_algo>:new pass" -ak
If the original archive was in clear you need to add the -J option to
provide the encryption key, and if you don't want to have password in
clear on the command line (command that can be seen with top or ps by other users), simply provide
"<algo>:" then dar will ask you on the fly the password, if using
blowfish you can then just provide ":" for the keys:
dar
-+ new_archive -A
original_archive -K ":" -J ":" -ak
Note that you can also change
slicing of the archive at the same time
thanks to -s option:
dar
-+ new_archive -A
original_archive -K ":" -J ":" -ak -s 1G
I have a backup, how can I change its compression
algorithm?
Same thing as above : we will
use the merging feature :
to use bzip2 compression:
dar
-+ new_archive -A
original_archive -y
to use gzip compression
dar
-+ new_archive -A
original_archive -z
to use no compression at all:
dar
-+ new_archive -A
original_archive
Note that you can also change encryption scheme and slicing at the same
time you change compression:
dar -+ new_archive -A
original_archive -y -K ":" -J ":" -s 1G
Which
options can I use with which options?
DAR provides seven commands:
- -c to create a new archive
- -x to extract files from a given archive
- -l to list the contents of a given archive
- -d to compare the contents of an archive with
filesystem
- -t to test the coherence of a given
archive
- -C to isolate an archive (extract its contents to a
usually
small file)
- -+ to merge two archives in one or create a sub
archive from one or two other archives
Follow for each command the available options (those marked OK):
|