Section: File formats and conventions (5)Updated: 10/18/2010Local indexUp
NAME
amanda.conf - Main configuration file for Amanda, the Advanced Maryland Automatic Network Disk Archiver
DESCRIPTION
amanda.conf(5)
is the main configuration file for Amanda. This manpage lists the relevant sections and parameters of this file for quick reference.
The file
<CONFIG_DIR>/<config>/amanda.conf
is loaded.
SYNTAX
There are a number of configuration parameters that control the behavior of the Amanda programs. All have default values, so you need not specify the parameter in
amanda.conf
if the default is suitable.
COMMENTS
Lines starting with # are ignored, as are blank lines. Comments may be placed on a line with a directive by starting the comment with a #. The remainder of the line is ignored.
KEYWORDS AND IDENTIFIERS
Keywords are case insensitive, i.e.
mailto
and
MailTo
are treated the same. Also, the characters '-' and '_' are interchangeable in all predefined Amanda keywords:
device_property
and
device-property
have the same meaning. This manpage uses the dashed versions, but the underscored versions will be accepted for backward compatibility
Identifiers are names which are defined in the configuration itself, such as dumptypes or interfaces. Identifiers are are case-insensitive, but sensitive to '-' vs. '_'. Identifiers should be quoted in the configuration file, although For historical reasons, the quotes are optional.
Strings are always quoted with double quotes ("), and any double quotes or backslashes within the string are escaped with a backslash:
tapelist "/path/to/tapelist"
property "escaped-string" "escaping: \\ (backslash) and \" (double-quote)"
Integer arguments may have one of the following (case insensitive) suffixes, some of which have a multiplier effect:
b byte bytes
Some number of bytes.
bps
Some number of bytes per second.
k kb kbyte kbytes kilobyte kilobytes
Some number of kilobytes (bytes*1024).
kps kbps
Some number of kilobytes per second (bytes*1024).
It is the default multiplier for all size options.
m mb meg mbyte mbytes megabyte megabytes
Some number of megabytes (bytes*1024*1024).
mps mbps
Some number of megabytes per second (bytes*1024*1024).
g gb gbyte gbytes gigabyte gigabytes
Some number of gigabytes (bytes*1024*1024*1024).
t tb tbyte tbytes terabyte terabytes
Some number of terabytes (bytes*1024*1024*1024*1024).
tape tapes
Some number of tapes.
day days
Some number of days.
week weeks
Some number of weeks (days*7).
Note
The value
inf
may be used in most places where an integer is expected to mean an infinite amount.
Boolean arguments may have any of the values
1,
y,
yes,
t,
true
or
on
to indicate a true state, or
0,
n,
no,
f,
false
or
off
to indicate a false state. If no argument is given,
true
is assumed.
PARAMETER ORDER
In general, the order in which parameters occur in the configuration file does not matter, with the exception of subsection inheritance. For example, if dumptype "normal-encrypt" which inherits from dumptype "normal", then "normal" must appear first in the configuration file.
STRINGS
Quoted strings in Amanda follow a common, C-like syntax. Printable characters and whitespace are kept as-is, except that the backslash character (\) is used as an escape character, and a double-quote ends the string. The allowed escape sequences are
Amanda configuration files may include various
subsections, each defining a set of configuration directives. Each type of subsection is described below. Note that all types of subsections can
inherit
from other subsections of the same type by naming the "parent" section in the "child" subsection. For example:
define dumptype global {
record yes
index yes
}
define dumptype nocomp {
global # inherit the parameters in dumptype 'global'
compress none
}
Note that multiple inheritance is also supported by simply naming multiple parent sections in a child. Parents are implicitly expanded in place in a child, and the last occurrence of each parameter takes precedence. For example,
In this example, 'child' will have a filemark of 32k, a speed of 400bps, and a length of 200M.
GLOBAL PARAMETERS
orgstring
Default:
"daily". A descriptive name for the configuration. This string appears in the Subject line of mail reports. Each Amanda configuration should have a different string to keep mail reports distinct.
mailerstring
Default found by configure. A mail program that can send mail with 'MAILER -s "subject" user < message_file'.
mailtostring
Default: none. A space separated list of recipients for mail reports. If not specified, amdump will not send any mail.
send-amreport-on [ all | strange | error | never ]
Default:
all. Specify which types of messages will trigger an email from amreport. amreport is used by amdump and amflush.
all
Send an email on any message.
strange
Send an email on strange or error message. A strange message occurs when the dump succeeded, but returned one or more errors unknown to Amanda.
error
Send an email only on error messages.
never
Never send an email.
dumpcycleint
Default:
10 days. The number of days in the backup cycle. Each disk will get a full backup at least this often. Setting this to zero tries to do a full backup each run.
Note
This parameter may also be set in a specific
dumptype
(see below). This value sets the default for all
dumptypes so must appear in
amanda.conf
before any
dumptypes are defined.
runspercycleint
Default:
same as dumpcycle. The number of amdump runs in
dumpcycle
days. A value of 0 means the same value as
dumpcycle. A value of -1 means guess the number of runs from the
tapelist(5)
file, which is the number of tapes used in the last
dumpcycle
days /
runtapes.
tapecycleint
Default:
15 tapes. Specifies the number of "active" volumes - volumes that Amanda will not overwrite. While Amanda is always willing to write to a new volume, it refuses to overwrite a volume unless at least 'tapecycle
-1' volumes have been written since.
It is considered good administrative practice to set the
tapecycle
parameter slightly lower than the actual number of tapes in use. This allows the administrator to more easily cope with damaged or misplaced tapes or schedule adjustments that call for slight adjustments in the rotation order.
Note: Amanda is commonly misconfigured with
tapecycle
equal to the number of tapes per
dumpcycle. In this misconfiguration, amanda may erase a full dump before a new one is completed. Recovery is then impossible. The
tapecycle
must be at least one tape larger than the number of tapes per dumpcycle.
The number of tapes per dumpcycle is calculated by multiplying the number of
amdump
runs per dump cycle
runspercycle
(the number of
amdump
runs per dump cycle) and
runtapes
(the number of tapes used per run). Typically
tapecycle
is set to two or four times the tapes per dumpcycle.
usetimestampsbool
Default:
Yes. This option allows Amanda to track multiple runs per calendar day. The only reason one might disable it is that Amanda versions before 2.5.1 can't read logfiles written when this option was enabled.
label-new-tapesstring
Deprecated, use
autolabel
option with options
volume-error empty
to get equivalent behavior.
Default: not set. When set, this directive will cause Amanda to automatically write an Amanda tape label to any blank tape she encounters.
Default: not set. When set, this directive will cause Amanda to automatically write an Amanda tape label to most volume she encounters. This option is DANGEROUS because when set, Amanda may erase near-failing tapes or tapes accidentally loaded in the wrong slot.
When using this directive, specify the template for new tape labels. The template should contain some number of contiguous '%' characters, which will be replaced with a generated number. Be sure to specify enough '%' characters that you do not run out of tape labels. Example:
autolabel "DailySet1-%%%" empty
Note that many devices cannot distinguish an empty tape from an error condition, so it may is often necessary to include
volume-error
as an autolabel condition.
any
equivalent to 'other-config non-amanda volume-error empty'
other-config
Label volumes with a valid Amanda label that do not match our
labelstr. Danger: this may erase volumes
from other Amanda configurations without warning!
non-amanda
Label volumes which do not start with data that resembles an
Amanda header. Danger: this may erase volumes from other backup applications
without warning!
volume-error
Label volumes where an error occurs while trying to read the label.
Danger: this may erase arbitrary volumes due to transient errors.
empty
Label volumes where a read returns 0 bytes.
dumpuserstring
Default:
"amanda". The login name Amanda uses to run the backups. The backup client hosts must allow access from the tape server host as this user via
.rhosts
or
.amandahosts, depending on how the Amanda software was built.
printerstring
Printer to use when doing tape labels. See the
lbl-templtapetype
option.
tapedevstring
Default:
"null:". This parameter can either specify a device (explicitly or by referencing a device definition - see
amanda-devices(7)) or a tape changer (explicitly or by referencing a device definition - see
amanda-changers(7)).
device-propertystringstring
These options can set various device properties. See
amanda-devices(7)
for more information on device properties and their syntax. Both strings are always quoted; the first string contains the name of the property to set, and the second contains its value. For example, to set a fixed block size of 128k, write:
device-property "BLOCK_SIZE" "128k"
property [append] stringstring+
These options can set various properties, they can be used by third party software to store information in the configuration file. Both strings are quoted; the first string contains the name of the property to set, and the others contains its values.
append
keyword append the values to the list of values for that property.
tpchangerstring
Default: not set. The tape changer to use. In most cases, only one of
tpchanger
or
tapedev
is specified, although for backward compatibility both may be specified if
tpchanger
gives the name of an old changer script. See
amanda-changers(7)
for more information on configuring changers.
changerdevstring
Default:
"dev/null". A tape changer configuration parameter. Usage depends on the particular changer defined with the
tpchanger
option.
changerfilestring
Default:
"/usr/adm/amanda/log/changer-status". A tape changer configuration parameter. Usage depends on the particular changer defined with the
tpchanger
option.
runtapesint
Default:
1. The maximum number of tapes used in a single run. If a tape changer is not configured, this option is not used and should be commented out of the configuration file.
If a tape changer is configured, this may be set larger than one to let Amanda write to more than one tape.
Note that this is an upper bound on the number of tapes, and Amanda may use less.
maxdumpsizeint
Default:
runtapes*tape-length. Maximum number of bytes the planner will schedule for a run.
The default unit is Kbytes if it is not specified.
taperalgo [ first | firstfit | largest | largestfit | smallest | last ]
Default:
first. The algorithm used to choose which dump image to send to the taper.
first
First in, first out.
firstfit
The first dump image that will fit on the current tape.
largest
The largest dump image.
largestfit
The largest dump image that will fit on the current tape.
smallest
The smallest dump image.
last
Last in, first out.
taper-parallel-writeint
Default:
1. Amanda can write simultaneously up to that number of volume at any given time. The changer must have as many drives.
labelstrstring
Default:
".*". The tape label constraint regular expression. All tape labels generated (see
amlabel(8)) and used by this configuration must match the regular expression. If multiple configurations are run from the same tape server host, it is helpful to set their labels to different strings (for example, "DAILY[0-9][0-9]*" vs. "ARCHIVE[0-9][0-9]*") to avoid overwriting each other's tapes.
tapetypestring
Default:
no default. The type of tape drive associated with
tapedev
or
tpchanger. This refers to one of the defined
tapetypes in the config file (see below), which specify various tape parameters, like the
length,
filemark
size, and
speed
of the tape media and device.
ctimeoutint
Default:
30 seconds. Maximum amount of time that
amcheck
will wait for each client host.
dtimeoutint
Default:
1800 seconds. Amount of idle time per disk on a given client that a
dumper
running from within
amdump
will wait before it fails with a data timeout error.
etimeoutint
Default:
300 seconds. Amount of time per estimate on a given client that the
planner
step of
amdump
will wait to get the dump size estimates (note: Amanda runs up to 3 estimates for each DLE). For instance, with the default of 300 seconds and four DLE's, each estimating level 0 and level 1 on client A,
planner
will wait up to 40 minutes for that machine. A negative value will be interpreted as a total amount of time to wait per client instead of per disk.
connect-triesint
Default:
3. How many times the server will try a connection.
req-triesint
Default:
3. How many times the server will resend a REQ packet if it doesn't get the ACK packet.
netusageint
Default:
8000 Kbps. The maximum network bandwidth allocated to Amanda, in Kbytes per second. See also the
interface
section.
inparallelint
Default:
10. The maximum number of backups that Amanda will attempt to run in parallel. Amanda will stay within the constraints of network bandwidth and holding disk space available, so it doesn't hurt to set this number a bit high. Some contention can occur with larger numbers of backups, but this effect is relatively small on most systems.
displayunit "k|m|g|t"
Default:
"k". The unit used to print many numbers, k=kilo, m=mega, g=giga, t=tera.
dumporderstring
Default:
"tttTTTTTTT". The priority order of each dumper:
s: smallest size
S: largest size
t: smallest time
T: largest time
b: smallest bandwidth
B: largest bandwidth
maxdumpsint
Default:
1. The maximum number of backups from a single host that Amanda will attempt to run in parallel. See also the
inparallel
option.
Note that this parameter may also be set in a specific
dumptype
(see below). This value sets the default for all
dumptypes so must appear in
amanda.conf
before any
dumptypes are defined.
bumpsizeint
Default:
10 Mbytes. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as size. If Amanda determines that the next higher backup level will be this much smaller than the current level, it will do the next level. The value of this parameter is used only if the parameter
bumppercent
is set to 0.
The default unit is Kbytes if it is not specified.
The global setting of this parameter can be overwritten inside of a dumptype-definition.
See also the options
bumppercent,
bumpmult
and
bumpdays.
bumppercentint
Default:
0. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as percentage of the current size of the DLE (size of current level 0). If Amanda determines that the next higher backup level will be this much smaller than the current level, it will do the next level.
If this parameter is set to 0, the value of the parameter
bumpsize
is used to trigger bumping.
The global setting of this parameter can be overwritten inside of a dumptype-definition.
See also the options
bumpsize,
bumpmult
and
bumpdays.
bumpmultfloat
Default:
1.5. The bump size multiplier. Amanda multiplies
bumpsize
by this factor for each level. This prevents active filesystems from bumping too much by making it harder to bump to the next level. For example, with the default
bumpsize
and
bumpmult
set to 2.0, the bump threshold will be 10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level three, and so on.
The global setting of this parameter can be overwritten inside of a dumptype-definition.
bumpdaysint
Default:
2 days. To insure redundancy in the dumps, Amanda keeps filesystems at the same incremental level for at least
bumpdays
days, even if the other bump threshold criteria are met.
The global setting of this parameter can be overwritten inside of a dumptype-definition.
diskfilestring
Default:
"disklist". The file name for the
disklist
file holding client hosts, disks and other client dumping information.
infofilestring
Default:
"/usr/adm/amanda/curinfo". The file or directory name for the historical information database. If Amanda was configured to use DBM databases, this is the base file name for them. If it was configured to use text formated databases (the default), this is the base directory and within here will be a directory per client, then a directory per disk, then a text file of data.
logdirstring
Default:
"/usr/adm/amanda". The directory for the
amdump
and
log
files.
indexdirstring
Default
"/usr/adm/amanda/index". The directory where index files (backup image catalogues) are stored. Index files are only generated for filesystems whose
dumptype
has the
index
option enabled.
tapeliststring
Default:
"tapelist". The file name for the active
tapelist(5). Amanda maintains this file with information about the active set of tapes.
device-output-buffer-sizeint
Default:
1280k. Controls the amount of memory used by Amanda to hold data as it is read from the network or disk before it is written to the output device. Higher values may be useful on fast tape drives and optical media.
The default unit is bytes if it is not specified.
tapebufsint
Default:
20. This option is deprecated; use the
device-output-buffer-size
directive instead.
tapebufs
works the same way, but the number specified is multiplied by the device blocksize prior to use.
reserveint
Default:
100. The part of holding-disk space that should be reserved for incremental backups if no tape is available, expressed as a percentage of the available holding-disk space (0-100). By default, when there is no tape to write to, degraded mode (incremental) backups will be performed to the holding disk. If full backups should also be allowed in this case, the amount of holding disk space reserved for incrementals should be lowered.
autoflushbool
Default:
off. Whether an amdump run will flush the dumps from holding disk to tape.
amrecover-do-fsfbool
Deprecated; amrecover always uses fsf, and does not invoke amrestore.
Default:
on. Amrecover will call amrestore with the -f flag for faster positioning of the tape.
amrecover-check-labelbool
Deprecated; amrecover always checks the label, and does not invoke amrestore.
Default:
on. Amrecover will call amrestore with the -l flag to check the label.
amrecover-changerstring
Default: not set. Amrecover will use the changer if you use 'settape <string>' and that string is the same as the
amrecover-changer
setting.
Defines the width of columns
amreport
should use.
String
is a comma (',') separated list of triples. Each triple consists of three parts which are separated by a equal sign ('=') and a colon (':') (see the example). These four parts specify:
1.
the name of the column, which may be:
Compress (compression ratio)
Disk (client disk name)
DumpRate (dump rate in KBytes/sec)
DumpTime (total dump time in hours:minutes)
HostName (client host name)
Level (dump level)
OrigKB (original image size in KBytes)
OutKB (output image size in KBytes)
TapeRate (tape writing rate in KBytes/sec)
TapeTime (total tape time in hours:minutes)
2.
the amount of space to display before the column (used to get whitespace between columns).
3.
the width of the column itself. If set to a negative value, the width will be calculated on demand to fit the largest entry in this column.
4.
the precision of the column, number of digit after the decimal point for number.
The above will display the disk information in 18 characters and put one space before it. The hostname column will be 10 characters wide with no space to the left. The Original KBytes print 2 decimal digit. The output KBytes column is seven characters wide with one space before it.
includefilestring
Default:
no default. The name of an Amanda configuration file to include within the current file. Useful for sharing dumptypes, tapetypes and interface definitions among several configurations. Relative pathnames are relative to the configuration directory.
debug-daysint
Default:
3. The number of days the debug files are kept.
debug-authint
Default:
0. Debug level of the auth module
debug-eventint
Default:
0. Debug level of the event module
debug-holdingint
Default:
0. Debug level of the holdingdisk module
debug-protocolint
Default:
0. Debug level of the protocol module
debug-plannerint
Default:
0. Debug level of the planner process
debug-driverint
Default:
0. Debug level of the driver process
debug-dumperint
Default:
0. Debug level of the dumper process
debug-chunkerint
Default:
0. Debug level of the chunker process
debug-taperint
Default:
0. Debug level of the taper process
flush-threshold-dumpedint
Default:
0. Amanda will not begin writing data to a new volume until the amount of data on the holding disk is at least this percentage of the volume size. In other words, Amanda will not begin until the amount of data on the holding disk is greater than the tape length times this parameter. This parameter may be larger than 100%, for example to keep more recent dumps on the holding disk for faster recovery.
Needless to say, your holding disk must be big enough that this criterion could be satisfied. If the holding disk cannot be used for a particular dump (because, for example, there is no remaining holding space) then Amanda will disregard the constraint specified by this setting and start a new volume anyway. Once writing to a volume has begun, this constraint is not applied unless and until a new volume is needed.
The value of this parameter may not exceed than that of the
flush-threshold-scheduled
parameter.
flush-threshold-scheduledint
Default:
0. Amanda will not begin writing data to a new volume until the sum of the amount of data on the holding disk and the estimated amount of data remaining to be dumped during this run is at least this percentage of the volume size. In other words, Amanda will not begin until the inequality
h + s > t × d
is satisfied, where
h
is the amount of data on the holding disk,
s
is the total amount of data scheduled for this run but not dumped yet,
t
is the capacity of a volume, and
d
is this parameter, expressed as a percentage. This parameter may be larger than 100%.
Needless to say, your holding disk must be big enough that this criterion could be satisfied. If the holding disk cannot be used for a particular dump (because, for example, there is no remaining holding space) then Amanda will disregard the constraint specified by this setting and start a new volume anyway. Once writing to a volume has begun, this constraint is not applied unless and until a new volume is needed.
The value of this parameter may not be less than that of the
flush-threshold-dumped
or
taperflush
parameters.
taperflushint
Default:
0. At the end of a run, Amanda will start a new tape to flush remaining data if there is more data on the holding disk at the end of a run than this setting allows; the amount is specified as a percentage of the capacity of a single volume. In other words, at the end of a run, Amanda will begin a new tape if the inequality
h > t × f
is satisfied, where
h
is the amount of data remaining on the holding disk from this or previous runs,
t
is the capacity of a volume, and
f
is this parameter, expressed as a percentage. This parameter may be greater than 100%.
The value of this parameter may not exceed that of the
flush-threshold-scheduled
parameter.;
autoflush
must be set to 'yes' if
taperflush
is greater than 0.
reserved-udp-portint,int
Default: --with-udpportrange or
512,1023. Reserved udp port that will be used (bsd, bsdudp). Range is inclusive.
reserved-tcp-portint,int
Default: --with-low-tcpportrange or
512,1023. Reserved tcp port that will be used (bsdtcp). Range is inclusive.
unreserved-tcp-portint,int
Default: --with-tcpportrange or
1024,65535. Unreserved tcp port that will be used (bsd, bsdudp). Range is inclusive.
recovery-limit [ string | same-host ]
Default: none (no limitations). This parameter limits the hosts that may do remote recoveries. Hosts are identified by their authenticated peer name, as described in
amanda-auth(7); if this is not available and the recovery-limit parameter is present, recovery will be denied. The arguments to the parameter are strings giving host match expressions (see
amanda-match(7)) or the special keyword same-host, which requires an exact match to the hostname of the DLE being recovered. Specifying no arguments at all will disable all recoveries from any host.
Note that match expressions can be constructed to be forgiving of e.g., fully-qualified vs. unqualified hostnames, but
same-host
requires an exact match.
The error messages that appear in amrecover are intentionally vague to avoid information leakage. Consult the amindexd debug log for more details on the reasons a recovery was rejected.
Recovery limits can be refined on a per-DLE basis using the dumptype parameter of the same name. Note that the default value will apply to any dumpfiles for disks which no longer appear in the disklist; thus leaving the global parameter at its default value but setting it for all DLEs is not sufficient to maintain secure backups.
HOLDINGDISK SECTION
The
amanda.conf
file may define one or more holding disks used as buffers to hold backup images before they are written to tape. The syntax is:
define holdingdisk name {
holdingdisk-optionholdingdisk-value
...
}
The { must appear at the end of a line, and the } on its own line.
Name
is a logical name for this holding disk.
The options and values are:
commentstring
Default: not set. A comment string describing this holding disk.
directorystring
Default:
"/dumps/amanda". The path to this holding area.
useint
Default:
0 Gb. Amount of space that can be used in this holding disk area. If the value is zero, all available space on the file system is used. If the value is negative, Amanda will use all available space minus that value.
chunksizeint
Default:
1 Gb. Holding disk chunk size. Dumps larger than the specified size will be stored in multiple holding disk files. The size of each chunk will not exceed the specified value. However, even though dump images are split in the holding disk, they are concatenated as they are written to tape, so each dump image still corresponds to a single continuous tape section.
The default unit is Kbytes if it is not specified.
If 0 is specified, Amanda will create holding disk chunks as large as ((INT_MAX/1024)-64) Kbytes.
Each holding disk chunk includes a 32 Kbyte header, so the minimum chunk size is 64 Kbytes (but that would be really silly).
Operating systems that are limited to a maximum file size of 2 Gbytes actually cannot handle files that large. They must be at least one byte less than 2 Gbytes. Since Amanda works with 32 Kbyte blocks, and to handle the final read at the end of the chunk, the chunk size should be at least 64 Kbytes (2 * 32 Kbytes) smaller than the maximum file size, e.g. 2047 Mbytes.
DUMPTYPE SECTION
The
amanda.conf(5)
file may define multiple sets of backup options and refer to them by name from the
disklist(5)
file. For instance, one set of options might be defined for file systems that can benefit from high compression, another set that does not compress well, another set for file systems that should always get a full backup and so on.
A set of backup options are entered in a
dumptype
section, which looks like this:
The { must appear at the end of a line, and the } on its own line.
Name
is the name of this set of backup options. It is referenced from the
disklist(5)
file.
Some of the options in a
dumptype
section are the same as those in the main part of
amanda.conf(5). The main option value is used to set the default for all
dumptype
sections. For instance, setting
dumpcycle
to 50 in the main part of the config file causes all following
dumptype
sections to start with that value, but the value may be changed on a section by section basis. Changes to variables in the main part of the config file must be done before (earlier in the file) any
dumptypes are defined.
The dumptype options and values are:
authstring
Default:
"bsd". Type of authorization to perform between tape server and backup client hosts. See
amanda-auth(7)
for more detail.
amandad-pathstring
Default:
"$libexec/amandad". Specify the amandad path of the client, only use with rsh/ssh authentification.
client-usernamestring
Default:
CLIENT_LOGIN. Specify the username to connect on the client, only use with rsh/ssh authentification.
client-port [ int | string ]
Default:
"amanda". Specifies the port to connect to on the client. It can be a service name or a numeric port number.
bumpsizeint
Default:
10 Mbytes. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as size. If Amanda determines that the next higher backup level will be this much smaller than the current level, it will do the next level. The value of this parameter is used only if the parameter
bumppercent
is set to 0.
The default unit is Kbytes if it is not specified.
See also the options
bumppercent,
bumpmult
and
bumpdays.
bumppercentint
Default:
0. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as percentage of the current size of the DLE (size of current level 0). If Amanda determines that the next higher backup level will be this much smaller than the current level, it will do the next level.
If this parameter is set to 0, the value of the parameter
bumpsize
is used to trigger bumping.
See also the options
bumpsize,
bumpmult
and
bumpdays.
bumpmultfloat
Default:
1.5. The bump size multiplier. Amanda multiplies
bumpsize
by this factor for each level. This prevents active filesystems from bumping too much by making it harder to bump to the next level. For example, with the default
bumpsize
and
bumpmult
set to 2.0, the bump threshold will be 10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level three, and so on.
bumpdaysint
Default:
2 days. To insure redundancy in the dumps, Amanda keeps filesystems at the same incremental level for at least
bumpdays
days, even if the other bump threshold criteria are met.
commentstring
Default: not set. A comment string describing this set of backup options.
compratefloat [, float ]
Default:
0.50, 0.50. The expected full and incremental compression factor for dumps. It is only used if Amanda does not have any history information on compression rates for a filesystem, so should not usually need to be set. However, it may be useful for the first time a very large filesystem that compresses very little is backed up.
compress [ none | client | server ] [ best | fast | custom ]
Default:
client fast. If Amanda does compression of the backup images, it can do so either on the backup client host before it crosses the network or on the tape server host as it goes from the network into the holding disk or to tape. Which place to do compression (if at all) depends on how well the dump image usually compresses, the speed and load on the client or server, network capacity, holding disk capacity, availability of tape hardware compression, etc.
For either type of compression, Amanda also allows the selection of three styles of compression.
best
is the best compression available, often at the expense of CPU overhead.
fast
is often not as good a compression as
best, but usually less CPU overhead. Or to specify
custom
to use your own compression method. (See dumptype custom-compress in example/amanda.conf for reference)
So the
compress
options line may be one of:
compress none
compress client fast
compress client best
compress client custom
Specify
client-custom-compress
"PROG"
PROG must not contain white space and it must accept -d for uncompress.
compress server fast
compress server best
compress server custom
Specify
server-custom-compress
"PROG"
PROG must not contain white space and it must accept -d for uncompress.
Note that some tape devices do compression and this option has nothing to do with whether that is used. If hardware compression is used (usually via a particular tape device name or
mt
option), Amanda (software) compression should be disabled.
client-custom-compressstring
Default: none. The program to use to perform compression/decompression on the client; used with "compress client custom". Must not contain whitespace. Must accept -d to uncompress.
server-custom-compressstring
Default: none. The program to use to perform compression/decompression on the server; used with "compress server custom". Must not contain whitespace. Must accept -d to uncompress.
dumpcycleint
Default:
10 days. The number of days in the backup cycle. Each disk using this set of options will get a full backup at least this of ten. Setting this to zero tries to do a full backup each run.
encrypt [ none | client | server ]
Default: not set. To encrypt backup images, it can do so either on the backup client host before it crosses the network or on the tape server host as it goes from the network into the holding disk or to tape.
decryption-parameter must not contain white space.
(See dumptype server-encrypt-fast in example/amanda.conf for reference)
Note that current logic assumes compression then encryption during backup(thus decrypt then uncompress during restore). So specifying client-encryption AND server-compression is not supported.
amcrypt
which is a wrapper of
aespipe
is provided as a reference symmetric encryption program.
client-encryptstring
Default: none. The program to use to perform encryption/decryption on the client; used with "encrypt client". Must not contain whitespace.
client-decrypt-optionstring
Default: -d. The option that can be passed to client-encrypt to make it decrypt instead. Must not contain whitespace.
server-encryptstring
Default: none. The program to use to perform encryption/decryption on the server; used with "encrypt server". Must not contain whitespace.
server-decrypt-optionstring
Default: -d. The option that can be passed to server-encrypt to make it decrypt instead. Must not contain whitespace.
estimate [ client | calcsize | server ]+
Default:
client. Determine the way Amanda estimates the size of each DLE before beginning a backup. This is a list of acceptable estimate methods, and Amanda applies the first method supported by the application. The methods are:
client
Use the same program as the dumping program. This is the most accurate method to do estimates, but it can take a long time.
calcsize
Use a faster program to do estimates, but the result is less accurate.
server
Use only statistics from the previous few runs to give an estimate. This very quick, but the result is not accurate if your disk usage changes from day to day. If this method is specified, but the server does not have enough data to make an estimate, then the option is internally moved to the end of the list, thereby preferring 'client' or 'calcsize' in this case.
exclude [ list | file ][[optional][append][ string ]+]
Default:
file. Exclude is the opposite of
include
and specifies files that will be excluded from the backup. The format of the exclude expressions depends on the application, and some applications do not support excluding files at all.
There are two exclude parameters,
excludefile
and
excludelist.
With
excludefile, the
string
is an exclude expression. With
excludelist
, the
string
is a file name on the client containing
GNU-tar
exclude expressions. The path to the specified exclude list file, if present (see description of 'optional' below), must be readable by the Amanda user.
All exclude expressions are concatenated in one file and passed to the application as an
--exclude-from
argument.
For
GNU-tar, exclude expressions must always be specified as relative to the top-level directory of the DLE, and must start with "./". See the manpages for individual applications for more information on supported exclude expressions.
With the
append
keyword, the
string
is appended to the current list, without it, the
string
overwrites the list.
If
optional
is specified for
excludelist, then amcheck will not complain if the file doesn't exist or is not readable.
For
excludelist, if the file name is relative, the disk name being backed up is prepended. So if this is entered:
exclude list ".amanda.excludes"
the actual file used would be
/var/.amanda.excludes
for a backup of
/var,
/usr/local/.amanda.excludes
for a backup of
/usr/local, and so on.
holdingdisk [ never | auto | required ]
Default:
auto. Whether a holding disk should be used for these backups or whether they should go directly to tape. If the holding disk is a portion of another file system that Amanda is backing up, that file system should refer to a dumptype with
holdingdisk
set to
never
to avoid backing up the holding disk into itself.
never|no|false|off
Never use a holdingdisk, the dump will always go directly to tape. There will be no dump if you have a tape error.
auto|yes|true|on
Use the holding disk, unless there is a problem with the holding disk, the dump won't fit there or the medium doesn't require spooling (e.g., VFS device)
required
Always dump to holdingdisk, never directly to tape. There will be no dump if it doesn't fit on holdingdisk
ignoreboolean
Default:
no. Whether disks associated with this backup type should be backed up or not. This option is useful when the
disklist
file is shared among several configurations, some of which should not back up all the listed file systems.
include [ list | file ][[optional][append][ string ]+]
Default:
file
".". There are two include lists,
include file
and
include list.
With
include file
, the
string
is a glob expression. With
include list
, the
string
is a file name on the client containing glob expressions.
All include expressions are expanded by Amanda, concatenated in one file and passed to
GNU-tar
as a
--files-from
argument. They must start with "./" and contain no other "/".
Include expressions must always be specified as relative to the head directory of the DLE.
Note
For globbing to work at all, even the limited single level, the top level directory of the DLE must be readable by the Amanda user.
With the
append
keyword, the
string
is appended to the current list, without it, the
string
overwrites the list.
If
optional
is specified for
include list, then amcheck will not complain if the file doesn't exist or is not readable.
For
include list, If the file name is relative, the disk name being backed up is prepended.
indexboolean
Default:
no. Whether an index (catalogue) of the backup should be generated and saved in
indexdir. These catalogues are used by the
amrecover
utility.
kencryptboolean
Default:
no. Whether the backup image should be encrypted by Kerberos as it is sent across the network from the backup client host to the tape server host.
maxdumpsint
Default:
1. The maximum number of backups from a single host that Amanda will attempt to run in parallel. See also the main section parameter
inparallel.
maxpromotedayint
Default:
10000. The maximum number of day for a promotion, set it 0 if you don't want promotion, set it to 1 or 2 if your disks get overpromoted.
priority [ low | medium | high ]
Default:
medium. When there is no tape to write to, Amanda will do incremental backups in priority order to the holding disk. The priority may be high (2), medium (1), low (0) or a number of your choice.
program [ "DUMP" | "GNUTAR" | "APPLICATION" ]
Default:
"DUMP". The type of backup to perform. Valid values are:
"DUMP"
The native operating system backup program.
"GNUTAR"
To use GNU-tar or to do PC backups using Samba.
"APPLICATION"
To use an application, see the
application
option.
applicationstring
No default. Must be the name of an application if
program
is set to
APPLICATION. See APPLICATION SECTION below.
scriptstring
No default. Must be the name of a script. You can have many script. See SCRIPT SECTION below.
property [append] stringstring+
These options can set various properties, they can be used by third party software to store information in the configuration file. Both strings are quoted; the first string contains the name of the property to set, and the others contains its values.
append
keyword append the values to the list of values for that property.
recordboolean
Default:
yes. Whether to ask the backup program to update its database (e.g.
/var/lib/dumpdates
for DUMP or
/usr/local/var/amanda/gnutar-lists
for GNUTAR) of time stamps. This is normally enabled for daily backups and turned off for periodic archival runs.
skip-fullboolean
Default:
no. If
true
and
planner
has scheduled a full backup, these disks will be skipped, and full backups should be run off-line on these days. It was reported that Amanda only schedules level 1 incrementals in this configuration; this is probably a bug.
skip-incrboolean
Default:
no. If
true
and
planner
has scheduled an incremental backup, these disks will be skipped.
ssh-keysstring
Default: not set. The key file the ssh auth will use, it must be the private key. If this parameter is not specified, then the default ssh key will be used.
starttimeint
Default: not set. Backup of these disks will not start until after this time of day. The value should be hh*100+mm, e.g. 6:30PM (18:30) would be entered as
1830.
Default:
standard. Strategy to use when planning what level of backup to run next. Values are:
standard
The standard Amanda schedule.
nofull
Never do full backups, only level 1 incrementals.
noinc
Never do incremental backups, only full dumps.
skip
Treat this DLE as if it doesn't exist (useful to disable DLEs when sharing the
disklist
file between multiple configurations). Skipped DLEs will not be checked or dumped, and will not be matched by disklist expressions.
incronly
Only do incremental dumps.
amadmin force
should be used to tell Amanda that a full dump has been performed off-line, so that it resets to level 1.
allow-splitbool
Default: true. If true, then dumps with this dumptype can be split on the storage media. If false, then the dump will be written in a single file on the media. See "Dump Splitting Configuration" below.
tape-splitsizeint
Deprecated. See "Dump Splitting Configuration" below.
Default: not set. Split dump file on tape into pieces of a specified size. The default unit is Kbytes if it is not specified.
split-diskbufferstring
Deprecated. See "Dump Splitting Configuration" below.
Default: not set. When dumping a split dump in PORT-WRITE mode (usually meaning "no holding disk"), buffer the split chunks to a file in the directory specified by this option.
fallback-splitsizeint
Deprecated. See "Dump Splitting Configuration" below.
Default:
10M. This specifies the part size used when no
split-diskbuffer
is specified, or when it is too small or does not exist, and thus the maximum amount of memory consumed for in-memory splitting. The default unit is Kbytes if it is not specified.
recovery-limit [ same-host | string ]*
Default: global value. This parameter overrides the global
recovery-limit
parameter for DLEs of this dumptype.
The following
dumptype
entries are predefined by Amanda:
define dumptype "no-compress" {
compress none
}
define dumptype "compress-fast" {
compress client fast
}
define dumptype "compress-best" {
compress client best
}
define dumptype "srvcompress" {
compress server fast
}
define dumptype "bsd-auth" {
auth bsd
}
define dumptype "no-record" {
record no
}
define dumptype "no-hold" {
holdingdisk no
}
define dumptype "no-full" {
skip-full yes
}
In addition to options in a
dumptype
section, one or more other
dumptype
names may be supplied as identifiers, which make this
dumptype
inherit options from other previously defined
dumptypes. For instance, two sections might be the same except for the
record
option:
define dumptype "normal" {
comment "Normal backup, no compression, do indexing"
no-compress
index yes
maxdumps 2
}
define dumptype "testing" {
comment "Test backup, no compression, do indexing, no recording"
"normal"
record no
}
Amanda provides a
dumptype
named
global
in the sample
amanda.conf
file that all
dumptypes should reference. This provides an easy place to make changes that will affect every
dumptype, although you must be careful that every dumptype explicitly inherits from the
global
dumptype - Amanda does not do so automatically.
TAPETYPE SECTION
The
amanda.conf
file may define multiple types of tape media and devices. The information is entered in a
tapetype
section, which looks like this in the config file:
The { must appear at the end of a line, and the } on its own line.
Name
is the name of this type of tape medium/device. It is referenced from the
tapetype
option in the main part of the config file.
The tapetype options and values are:
commentstring
Default: not set. A comment string describing this set of tape information.
filemarkint
Default:
1 kbytes. How large a file mark (tape mark) is, measured in kbytes. If the size is only known in some linear measurement (e.g. inches), convert it to kbytes using the device density.
lengthint
Default:
2000 kbytes. How much data will fit on a tape, expressed in kbytes.
Note that this value is only used by Amanda to schedule which backups will be run. Once the backups start, Amanda will continue to write to a tape until it gets an error, regardless of what value is entered for
length
(but see
amanda-devices(7)
for exceptions).
blocksizeint
Default:
32 kbytes. How much data will be written in each tape record, expressed in kbytes. This is similar to the
BLOCK_SIZE
device property, but if the blocksize is not a multiple of 1024 bytes, then this parameter cannot be used to specify it, and the property must be used instead.
readblocksizeint
Default:
32 kytes
How much data will be read in each tape record. This can be used to override a device's block size for reads only. This may be useful, for example, in reading a tape written with a 256k block size when Amanda is configured to use 128k blocks. This unusual feature is not supported by all operating systems and tape devices.
The default unit is Kbytes if it is not specified.
part-sizeint
Default: none. This is the size (in KB if no units are specified) of each split part written to the volume. It is reduced to
part-cache-max-size
when part caching is required. If this is set to zero, then no splitting will take place; in this case, some devices can span dumps from volume to volume, while others will cause the entire dump to fail if they encounter end-of-medium before the dump is complete. See "Dump Splitting Configuration" below.
part-cache-type [ none | disk | memory ]
Default: none. When part caching is required, this parameter specifies the type of caching that will be used. The options include no caching (none), in which case a failed part will cause the entire dump to fail; on-disk caching (disk), for which
part-cache-dir
must be set properly; and in-memory caching (memory), which on most systems severely restrains the size of the part that can be written. See "Dump Splitting Configuration" below.
part-cache-dirstring
Default: none. The directory in which part-cache files can be written when caching on disk. See "Dump Splitting Configuration" below.
part-cache-max-sizeint
Default: none. The maximum part size to use when caching is in effect. This is used to limit the part size when disk or memory space for caching is constrained. This value must be greater than zero.
speedint
Default:
200 bps. How fast the drive will accept data, in bytes per second. This parameter is NOT currently used by Amanda.
lbl-templstring
Default: not set. A PostScript template file used by
amreport
to generate labels. Several sample files are provided with the Amanda sources in the
example
directory. See the
amreport(8)
man page for more information.
In addition to options, another
tapetype
name may be supplied as an identifier, which makes this
tapetype
inherit options from another
tapetype. For instance, the only difference between a DLT4000 tape drive using Compact-III tapes and one using Compact-IV tapes is the length of the tape. So they could be entered as:
define tapetype "DLT4000-III" {
comment "DLT4000 tape drives with Compact-III tapes"
length 12500 mbytes # 10 Gig tapes with some compression
filemark 2000 kbytes
speed 1536 kps
}
define tapetype "DLT4000-IV" {
"DLT4000-III"
comment "DLT4000 tape drives with Compact-IV tapes"
length 25000 mbytes # 20 Gig tapes with some compression
}
INTERFACE SECTION
The
amanda.conf
file may define multiple types of network interfaces. The information is entered in an
interface
section, which looks like this:
The { must appear at the end of a line, and the } on its own line.
name
is the name of this type of network interface. It is referenced from the
disklist
file.
Note that these sections define network interface characteristics, not the actual interface that will be used. Nor do they impose limits on the bandwidth that will actually be taken up by Amanda. Amanda computes the estimated bandwidth each file system backup will take based on the estimated size and time, then compares that plus any other running backups with the limit as another of the criteria when deciding whether to start the backup. Once a backup starts, Amanda will use as much of the network as it can leaving throttling up to the operating system and network hardware.
The interface options and values are:
commentstring
Default: not set. A comment string describing this set of network information.
useint
Default:
8000 Kbps. The speed of the interface in Kbytes per second.
In addition to options, another
interface
name may be supplied as an identifier, which makes this
interface
inherit options from another
interface. At the moment, this is of little use.
APPLICATION SECTION
The
amanda.conf
file may define multiple types of application. The information is entered in a
application
section, which looks like this:
The { must appear at the end of a line, and the } on its own line.
name
is the name of this type of application. It is referenced from the
dumptype
The application options and values are:
commentstring
Default: not set. A comment string describing this application.
pluginstring
No default. Must be set to the name of the program. This program must be in the
$libexecdir/amanda/application
directory on the client.
property [append] [priority] stringstring+
No default. You can set property for the application, each application have a different set of property. Both strings are quoted; the first string contains the name of the property to set, and the others contains its values.
append
keyword append the values to the list of values for that property.
priority
keyword disallow the setting of that property on the client.
SCRIPT SECTION
The
amanda.conf
file may define multiple types of script. The information is entered in a
script
section, which looks like this:
No default. You can set property for the script, each script have a different set of property. Both strings are quoted; the first string contains the name of the property to set, and the others contains its values.
append
keyword append the values to the list of values for that property.
priority
keyword disallow the setting of that property on the client.
DEVICE SECTION
Backend storage devices are specified in
amanda.conf
in the form of "device" sections, which look like this:
The { must appear at the end of a line, and the } on its own line.
name
is the user-specified name of this device. It is referenced from the global
tapedev
parameter. The
device-specifier
specifies the device name to use; see
amanda-devices(7). As with most sections, the
comment
parmeter is optional and only for the user's convenience.
An arbitrary number of
device-property
parameters can be specified. Again, see
amanda-devices(7)
for information on device properties.
CHANGER SECTION
Changers are described in
amanda.conf
in the form of "changer" sections, which look like this:
The { must appear at the end of a line, and the } on its own line.
name
is the user-specified name of this device. The remaining parameters are specific to the changer type selected.
See
amanda-changers(7)
for more information on configuring changers.
DUMP SPLITTING CONFIGURATION
Amanda can "split" dumps into parts while writing them to storage media. This allows Amanda to recover gracefully from a failure while writing a part to a volume, by simply selecting a new volume and re-writing the dump from the beginning of the failed part. Parts also allow Amanda to seek directly to the required data, although this functionality is not yet used.
In order to support re-writing from the beginning of a failed part, Amanda must have access to the contents of the part after it has been partially written. If the dump is being read from holding disk, then the part contents are availble there. Otherwise, the part must be cached, and this can be done memory or on disk. In either of the latter cases, the cache must have enough space to hold an entire part.
Because it is common for a single Amanda configuration to use both holding-disk (FILE-WRITE) and direct (known as PORT-WRITE) dumps, Amanda allows the configuration of different split sizes for the two cases. This allows, for example, for a part size appropriate to large tapes when performing FILE-WRITE dumps, with a part size limited by available disk or memory when performing PORT-WRITE dumps.
Selecting a proper split size is a delicate matter. If the parts are too large, substantial storage space may be wasted in failed parts. If too small, large dumps will be split into innumerable tiny dumpfiles, adding to restoration complexity; furthermore, an excess of filemarks will cause slower tape drive operation and reduce the usable space on tape. A good rule of thumb is 1/10 of the size of a volume of storage media.
In versions of Amanda through 3.1.*, splitting was controlled by the dumptype parameters
tape-splitsize,
split-diskbuffer, and
fallback-splitsize. These keywords had confusing and non-intuitive interactions, and have since been deprecated.
If the deprecated keywords are not present, subsequent versions of Amanda use the dumptype parameter
allow-split
to control whether a DLE can be split, and the
tapetype
parameters
part-size,
part-cache-type,
part-cache-dir, and
part-cache-max-size. The
part-size
specifies the "normal" part size, while the
part-cache-*
parameters describe how to behave when caching is required (on PORT-WRITE). Full details on these parameters are given above.