AMANDA.CONF(5) | File formats and conventions | AMANDA.CONF(5) |
amanda.conf - Main configuration file for Amanda, the Advanced Maryland Automatic Network Disk Archiver
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>/amanda.conf is loaded if it exists then the files <CONFIG_DIR>/<config>/amanda.conf is loaded.
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.
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 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)"
To summarize, then:
# QUOTES CASE -/_ logdir "logs" # required sensitive sensitive send-amreport-on strange # prohibited insensitive insensitive tapetype "EXABYTE" # optional insensitive sensitive define dumptype "dt" { # optional insensitive sensitive
"dumptype-common" # optional insensitive sensitive
strategy noinc # prohibited insensitive insensitive }
Integer arguments may have one of the following (case insensitive) suffixes, some of which have a multiplier effect:
b byte bytes
bps
k kb kbyte kbytes kilobyte kilobytes
kps kbps
It is the default multiplier for all size options.
m mb meg mbyte mbytes megabyte megabytes
mps mbps
g gb gbyte gbytes gigabyte gigabytes
t tb tbyte tbytes terabyte terabytes
tape tapes
day days
week weeks
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.
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.
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
Illegally quoted strings are handled on a "best-effort" basis, which may lead to unexpected results.
ESCAPE SEQUENCE BECOMES
\\ \
\" "
\n (newline)
\t (tab)
\r (carriage return)
\f (form-feed)
\1 - \7
\01 - \77
\001 - \377 (character specified in octal)
Examples:
finserver "/data/finance/XYZ Corp's \"real\" finances" finance-high eth0 -1 property "syspath" "C:\\WINDOWS\\SYSTEM"
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,
define tapetype par1 {In this example, 'child' will have a filemark of 32k, a speed of 400bps, and a length of 200M.
comment "Parent 1"
filemark 8k
speed 300bps
length 200M } define tapetype par2 {
comment "Parent 2"
filemark 16k
speed 400bps } define tapetype child {
par1
par2
filemark 32k }
amrecover-changer string
amrecover-check-label bool
Default: on. Amrecover will call amrestore with the -l flag to check the label.
amrecover-do-fsf bool
Default: on. Amrecover will call amrestore with the -f flag for faster positioning of the tape.
autoflush no|yes|all
autolabel string [any] [other-config] [non-amanda] [volume-error] [empty]
When using this directive, specify the template for new tape labels. The template can contains many variables that are substituted by their values:
$c : config name
$o : org configuration
$b : barcode of the volume
$s : slot number, can specify a minimun number of digit:
$3s to get '001'
$m : meta label
$r : storage name
The template can contain some number of contiguous '%' characters, which will be replaced with a generated number (000-999), or some number of contiguous '!', which will be replaced with a generated letter sequence (AAA-ZZZ). Be sure to specify enough '%' or '!' characters that you do not run out of tape labels. Example: "DailySet1-%%%", "DailySet1-!!!", "$c-%%%", "$m-%%%", "$m-$b"
The generared label can be used only if it match the labelstr setting. The volume will not be used if the generated label doesn't match the labelstr setting.
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
other-config
non-amanda
volume-error
empty
bumpdays int
The global setting of this parameter can be overwritten inside of a dumptype-definition.
bumpmult float
The global setting of this parameter can be overwritten inside of a dumptype-definition.
bumppercent int
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.
bumpsize int
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.
changerdev string
changerfile string
columnspec string
Defines the width of columns amreport should use. String is a comma (',') separated list of triples. Each triple consists of four parts which are separated by a equal sign ('=') and a colon (':') (see the example). These four parts specify:
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)
Parts may be omitted, and will adopt a default value; trailing colons may also be omitted.
Here is an example:
columnspec "Disk=1:18,HostName=0:10,OrigKB=::2,OutKB=1:7"
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.
command-file string
compress-index boolean
The compression ratio is generaly above 20x, it is faster to read compressed index files because there is 20 times less data to read from disk.
Changing this setting will uncompress/compress all index files.
connect-tries int
ctimeout int
debug-auth int
debug-chunker int
debug-days int
debug-driver int
debug-dumper int
debug-event int
debug-holding int
debug-planner int
debug-protocol int
debug-recovery int
debug-taper int
device-output-buffer-size int
The default unit is bytes if it is not specified.
device-property string string
device-property "BLOCK_SIZE" "128k"
diskfile string
displayunit "k|m|g|t"
dtimeout int
dumpcycle int
dumporder string
s: smallest size S: largest size t: smallest time T: largest time b: smallest bandwidth B: largest bandwidth
dumpuser string
eject-volume bool
etimeout int
flush-threshold-dumped int
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-scheduled int
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.
includefile string
indexdir string
infofile string
inparallel int
interactivity string
labelstr string | MATCH-AUTOLABEL
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.
label-new-tapes string
Default: not set. When set, this directive will cause Amanda to automatically write an Amanda tape label to any blank tape she encounters.
logdir string
mailer string
mailto string
maxdumps int
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.
maxdumpsize int
The default unit is Kbytes if it is not specified.
max-dle-by-volume int
meta-autolabel string
A meta-volume is a containers that contains many volumes, eg. a removable hard-disk for use with chg-disk, each hard disk have many slots (volume). The meta-label is the label to put on the meta-volume.
When using this directive, specify the template for new meta labels. The template can contains many variables that are substituted by their values:
$c : config name
$o : org configuration
$r : storage name
The template can contain some number of contiguous '%' characters, which will be replaced with a generated number (000-999), or some number of contiguous '!', which will be replaced with a generated letter sequence (AAA-ZZZ). Be sure to specify enough '%' characters that you do not run out of meta labels. Example: "DailySet1-%%%", "DailySet1-!!!", "$o-%%%", "$o-!!!", "$c-!!!",
netusage int
org string
printer string
property [append] string string+
recovery-limit [ string | same-host | server]
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.
report-format [append] string+
report-next-media boolean
report-use-media boolean
req-tries int
reserve int
reserved-tcp-port int,int
reserved-udp-port int,int
runspercycle int
runtapes int
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.
send-amreport-on [ all | strange | error | never ]
all
strange
error
never
sort-index boolean
storage string+
active-storage string+
tapebufs int
tapecycle int
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.
tapedev string
tapelist string
taperalgo [ first | firstfit | largest | largestfit | smallest | last ]
first
firstfit
largest
largestfit
smallest
last
taperflush int
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.
taperscan string
taper-parallel-write int
tapetype string
tmpdir string
tpchanger string
unreserved-tcp-port int,int
usetimestamps bool
vault-storage string+
After writing to the storages listed in the storage parameter, amdump will automatically write all pending dumps to the vault storage(s). (These dumps are queued for vaulting based on the vault option specified in the definition section for the primary storage and the dump-selection option specified on the vault storage.)
(amvault also uses the first storage in the vault-storage list as its default destination storage.)
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-option holdingdisk-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:
comment string
chunksize int
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.
directory string
use int
chunksize int
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.
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:
define dumptype "name" {
dumptype-option dumptype-value
... }
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:
allow-split bool
application string
auth string
amandad-path string
bumpdays int
bumpmult float
bumppercent int
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.
bumpsize int
The default unit is Kbytes if it is not specified.
See also the options bumppercent, bumpmult and bumpdays.
client-port [ int | string ]
client-custom-compress string
client-decrypt-option string
client-encrypt string
client-username string
comment string
comprate float [, float ]
compress [ none | client | server ] [ best | fast | custom ]
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
PROG must not contain white space and it must accept -d for uncompress.
compress server fast
compress server best
compress server custom
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.
dumpcycle int
dump-limit [ server | same-host ]*
encrypt [ none | client | server ]
So the encrypt options line may be one of:
encrypt none
encrypt client
PROG must not contain white space.
Specify client-decrypt-option "decryption-parameter" Default: "-d"
decryption-parameter must not contain white space.
(See dumptype client-encrypt-nocomp in example/amanda.conf for reference)
encrypt server
PROG must not contain white space.
Specify server-decrypt-option "decryption-parameter" Default: "-d"
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.
estimate [ client | calcsize | server ]+
client
calcsize
server
exclude [ list | file ][[optional][append][ string ]+]
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:
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.
exclude list ".amanda.excludes"
fallback-splitsize int
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.
holdingdisk [ never | auto | required ]
never|no|false|off
auto|yes|true|on
required
ignore boolean
include [ list | file ][[optional][append][ string ]+]
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.
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.
index boolean
kencrypt boolean
maxdumps int
maxpromoteday int
max-warnings int
priority [ low | medium | high ]
program [ "DUMP" | "GNUTAR" | "APPLICATION" ]
"DUMP"
"GNUTAR"
"APPLICATION"
property [append] [ hidden | visible ] string string+
With hidden (the default), the property are not put in the amanda dump header and in the log/debug files. With visible, they are put in the amanda dump header and in the log/debug files. Use hidden if the property must be kept secret.
record boolean
recovery-limit [ server | same-host | string ]*
retry-dump int
script string
server-custom-compress string
server-decrypt-option string
server-encrypt string
skip-full boolean
skip-incr boolean
split-diskbuffer string
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.
ssh-keys string
starttime int
strategy [ standard | nofull | noinc | skip | incronly ]
standard
nofull
noinc
skip
incronly
tag [append] string*
tape-splitsize int
Default: not set. Split dump file on tape into pieces of a specified size. The default unit is Kbytes if it is not specified.
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 "bsdtcp-auth" {
auth "bsdtcp" } 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.
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:
define tapetype "name" {
tapetype-option tapetype-value
... }
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:
blocksize int
comment string
filemark int
lbl-templ string
length int
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).
part-cache-dir string
part-cache-max-size int
part-cache-type [ none | disk | memory ]
part-size int
readblocksize int
The default unit is Kbytes if it is not specified.
speed int
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 }
The amanda.conf file may define multiple types of network interfaces. The information is entered in an interface section, which looks like this:
define interface "name" {
interface-option interface-value
... }
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.
If a src-ip is specified, then the connection should be from an interface with that IP. The system decide which interface to use if src-ip is not specified. You can add route at the system level to do more specific routing.
The section do not 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:
comment string
src-ip string
use int
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.
The amanda.conf file may define multiple types of application. The information is entered in a application section, which looks like this:
define application "name" {
application-option application-value
... }
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:
client-name string
If client-name is not set then the merge is done with the application that have the name equal to the plugin. eg. if the plugin is 'amgtar', then the setting from the application 'amgtar' is used if it is defined.
comment string
plugin string
property [append] [priority] string string+
The amanda.conf file may define multiple types of script. The information is entered in a script section, which looks like this:
define script "name" {
script-option script-value
... }
The { must appear at the end of a line, and the } on its own line.
name is the name of this type of script. It is referenced from the dumptype
The script options and values are:
client-name string
If client-name is not set then the merge is done with the script that have the name equal to the plugin. eg. if the plugin is 'amlog-script', then the setting from the script 'amlog-script' is used.
comment string
execute-on execute_on [,execute_on]*
pre-amcheck
pre-dle-amcheck
pre-host-amcheck
post-amcheck
post-dle-amcheck
post-host-amcheck
pre-estimate
pre-dle-estimate
pre-host-estimate
post-estimate
post-dle-estimate
post-host-estimate
pre-backup
pre-dle-backup
pre-host-backup
post-backup
post-dle-backup
post-host-backup
pre-recover
post-recover
pre-level-recover
post-level-recover
inter-level-recover
If you recover level 0 and 2 of the disk /usr with amrecover, it will execute:
script --pre-recover script --pre-level-recover --level 0 #recovering level 0 script --post-level-recover --level 0 script --inter-level-recover --level 0 --level 2 script --pre-level-recover --level 2 #recovering level 2 script --post-level-recover --level 2 script --post-recover
execute-where [ client | server ]
order int
plugin string
property [append] [priority] string string+
single-execution boolean
Backend storage devices are specified in amanda.conf in the form of "device" sections, which look like this:
define device name {
comment "comment (optional)"
tapedev "device-specifier"
device-property "prop-name" "prop-value"
... }
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.
Changers are described in amanda.conf in the form of "changer" sections, which look like this:
define changer name {
comment "comment (optional)"
tpchanger "changer-spec"
changerdev "device-name"
changerfile "state-file"
... }
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.
The tpchanger and changerfile can use '$t' to substitute the name of the changer.
See amanda-changers(7) for more information on configuring changers.
The amanda.conf file may define multiple interactivyt methods, although only one will be used - that specified by the interactivity parameter. The information is entered in a interactivity section, which looks like this:
define interactivity name {
interactivity-option interactivity-value
... }
The { must appear at the end of a line, and the } on its own line.
name is the user-specified name of this interactivity. The remaining parameters are specific to the interactivity type selected.
The interactivity options and values are:
comment string
plugin string
property [append] string string+
See amanda-interactivity(7) for more information on configuring interactivity methods.
The amanda.conf file may define multiple taperscan methods, it is set with the global taperscan parameter or in the storage section. The information is entered in a taperscan section, which looks like this:
define taperscan name {
taperscan-option taperscan-value
... }
The { must appear at the end of a line, and the } on its own line.
name is the user-specified name of this taperscan. The remaining parameters are specific to the taperscan type selected.
The taperscan options and values are:
comment string
plugin string
property [append] string string+
See amanda-taperscan(7) for more information on configuring taperscan.
The amanda.conf file may define multiple policy, it is set with the policy parameter of the storage section. A policy name CONFIG_NAME is automaticaly created. The information is entered in a policy section, which looks like this:
define policy name {
policy-option policy-value
... }
The { must appear at the end of a line, and the } on its own line.
name is the user-specified name of this policy. The remaining parameters are specific to the policy type selected.
The policy options and values are:
comment string
retention-days int
retention-full int
retention-recover int
retention-tapes int
The amanda.conf file may define multiple storage, the default storages are set with the storage parameter. The vaulting storage are set with the the vault-storage parameter. A storage name CONFIG_NAME is created if the global storage is not set. The information is entered in a storage section, which looks like this:
define storage name {
storage-option storage-value
... }
The { must appear at the end of a line, and the } on its own line.
name is the user-specified name of this storage. The remaining parameters are specific to the storage type selected.
The storage options and values are:
autoflush no|yes|all
autolabel string [any] [other-config] [non-amanda] [volume-error] [empty]
comment string
device-output-buffer-size int
dump-selection [string | ALL] [ ALL | FULL | INCR ]
eject-volume bool
erase-on-failure bool
erase-on-full bool
erase-volume bool
flush-threshold-dumped int
flush-threshold-scheduled int
interactivity string
labelstr string
max-dle-by-volume int
meta-autolabel string
policy string
report-next-media boolean
report-use-media boolean
runtapes int
set-no-reuse bool
tapedev string
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)).
tapepool string
$o : org configuration
$c : config name
$r : storage name
taperalgo [ first | firstfit | largest | largestfit | smallest | last ]
taperflush int
taperscan string
taper-parallel-write int
tapetype string
tpchanger string
vault storage int
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 available 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.
amanda(8), amanda-applications(7), amanda-auth(7), amanda-changers(7), amanda-client.conf(5), amanda-command-file(5), amanda-devices(7), amanda-interactivity(7), amanda-scripts(7), amanda-taperscan(7), amgetconf(8), amadmin(8)
The Amanda Wiki: : http://wiki.zmanda.com/
James da Silva <jds@amanda.org>
Stefan G. Weichinger <sgw@amanda.org>
12/01/2017 | Amanda 3.5.1 |