if (am_has_feature(g_options->features, fe_req_xml)) {
char *errmsg = NULL;
- dle_t *dles, *dle;
+ dle_t *dles, *dle, *dle_next;
dles = amxml_parse_node_FILE(stdin, &errmsg);
if (errmsg) {
run_client_scripts(EXECUTE_ON_POST_HOST_AMCHECK, g_options, dle,
stdout);
}
+ for (dle = dles; dle != NULL; dle = dle_next) {
+ dle_next = dle->next;
+ free_dle(dle);
+ }
}
check_overall();
check_file(COMPRESS_PATH, X_OK);
if (need_dump || need_xfsdump ) {
- if (check_file_exist("/etc/dumpdates")) {
- check_file("/etc/dumpdates",
+ if (check_file_exist("/var/lib/dumpdates")) {
+ check_file("/var/lib/dumpdates",
#ifdef USE_RUNDUMP
F_OK
#else
} else {
#ifndef USE_RUNDUMP
if (access("/etc", R_OK|W_OK) == -1) {
- g_printf(_("ERROR [dump will not be able to create the /etc/dumpdates file: %s]\n"), strerror(errno));
+ g_printf(_("ERROR [dump will not be able to create the /var/lib/dumpdates file: %s]\n"), strerror(errno));
}
#endif
}
}
if (need_vdump) {
- if (check_file_exist("/etc/vdumpdates")) {
- check_file("/etc/vdumpdates", F_OK);
+ if (check_file_exist("/var/lib/vdumpdates")) {
+ check_file("/var/lib/vdumpdates", F_OK);
}
}
check_space(AMANDA_DBGDIR, (off_t)64); /* for amandad i/o */
#endif
+ check_space("/var/lib", (off_t)64); /* for /var/lib/dumpdates writing */
check_space("/etc", (off_t)64); /* for /etc/dumpdates writing */
}
}
# encounters, uncomment the line below. Note that this will ERASE any
# non-Amanda tapes you may have, and may also ERASE any near-failing tapes.
# Use with caution.
- ## label_new_tapes "@DEFAULT_CONFIG@-%%%"
+ ## autolabel "@DEFAULT_CONFIG@-%%%" empty
maxdumpsize -1 # Maximum number of bytes the planner will schedule
# for a run (default: runtapes * tape_length).
tapetype HP-DAT # what kind of tape it is (see tapetypes below)
labelstr "^@DEFAULT_CONFIG@-[0-9][0-9]*$" # label constraint regex: all tapes must match
- amrecover_do_fsf yes # amrecover will call amrestore with the
- # -f flag for faster positioning of the tape.
- amrecover_check_label yes # amrecover will call amrestore with the
- # -l flag to check the label.
amrecover_changer "changer" # amrecover will use the changer if you restore
# from this device. It could be a string like 'changer' and amrecover will use your
# changer if you set your tape to 'changer' with 'setdevice changer' or via
# lbl-templ "@CONFIG_DIR@/config/lbl.exabyte.ps"
# }
+ define tapetype global {
+ part_size 3G
+ part_cache_type none
+ }
define tapetype QIC-60 {
+ global
comment "Archive Viper"
length 60 mbytes
filemark 100 kbytes # don't know a better value
}
define tapetype DEC-DLT2000 {
+ global
comment "DEC Differential Digital Linear Tape 2000"
length 15000 mbytes
filemark 8 kbytes
# goluboff@butch.Colorado.EDU
# in amanda-users (Thu Dec 26 01:55:38 MEZ 1996)
define tapetype DLT {
+ global
comment "DLT tape drives"
length 20000 mbytes # 20 Gig tapes
filemark 2000 kbytes # I don't know what this means
}
define tapetype SURESTORE-1200E {
+ global
comment "HP AutoLoader"
length 3900 mbytes
filemark 100 kbytes
}
define tapetype EXB-8500 {
+ global
comment "Exabyte EXB-8500 drive on decent machine"
length 4200 mbytes
filemark 48 kbytes
}
define tapetype EXB-8200 {
+ global
comment "Exabyte EXB-8200 drive on decent machine"
length 2200 mbytes
filemark 2130 kbytes
}
define tapetype HP-DAT {
+ global
comment "DAT tape drives"
# data provided by Rob Browning <rlb@cs.utexas.edu>
length 1930 mbytes
}
define tapetype DAT {
+ global
comment "DAT tape drives"
length 1000 mbytes # these numbers are not accurate
filemark 100 kbytes # but you get the idea
}
define tapetype MIMSY-MEGATAPE {
+ global
comment "Megatape (Exabyte based) drive through Emulex on Vax 8600"
length 2200 mbytes
filemark 2130 kbytes
}
define tapetype SEAGATE-ULTRIUM-LTO {
- comment "SEAGATE ULTRIUM 06242 LTO, compression off"
- length 99584 mbytes
- filemark 0 kbytes
- speed 11288 kps
+ global
+ comment "SEAGATE ULTRIUM 06242 LTO, compression off"
+ length 99584 mbytes
+ filemark 0 kbytes
+ speed 11288 kps
}
# dumptypes
# program - specify the dump system to use. Valid values are "DUMP",
# or "GNUTAR". Default: [program "DUMP"].
# record - record the backup in the time-stamp-database of the backup
-# program (e.g. /etc/dumpdates for DUMP or
+# program (e.g. /var/lib/dumpdates for DUMP or
# @GNUTAR_LISTED_INCREMENTAL_DIRX@ for GNUTAR.).
# Default: [record yes]
# skip-full - skip the disk when a level 0 is due, to allow full backups
# only be performed when an 'amadmin force'
# has been issued
# Default: [strategy standard]
- # tape_splitsize - (optional) split dump file into pieces of a specified size.
- # This allows dumps to be spread across multiple tapes, and can
- # potentially make more efficient use of tape space. Note that
- # if this value is too large (more than half the size of the
- # average dump being split), substantial tape space can be
- # wasted. If too small, large dumps will be split into
- # innumerable tiny dumpfiles, adding to restoration complexity.
- # A good rule of thumb, usually, is 1/10 of the size of your
- # tape. Default: [disabled]
- # split_diskbuffer - (optional) 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.
- # Default: [none]
- # fallback_splitsize - (optional) When dumping a split dump in PORT-WRITE
- # mode, if no split_diskbuffer is specified (or if we somehow
- # fail to use our split_diskbuffer), we must buffer split
- # chunks in memory. This specifies the maximum size split
- # chunks can be in this scenario, and thus the maximum amount
- # of memory consumed for in-memory splitting. Default: [10m]
#
# Note that you may specify previously defined dumptypes as a shorthand way of
# defining parameters.
define dumptype user-tar-span {
root-tar
- tape_splitsize 3 Gb
comment "tape-spanning user partitions dumped with tar"
priority medium
}
define dumptype comp-user-span {
global
- tape_splitsize 5 Gb
comment "Tape-spanning non-root partitions on reasonably fast machines"
compress client fast
priority medium
define dumptype nocomp-test {
global
- comment "test dump without compression, no /etc/dumpdates recording"
+ comment "test dump without compression, no /var/lib/dumpdates recording"
compress none
record no
priority medium
define dumptype comp-test {
nocomp-test
- comment "test dump with compression, no /etc/dumpdates recording"
+ comment "test dump with compression, no /var/lib/dumpdates recording"
compress client fast
}
# program - specify the dump system to use. Valid values are "DUMP"
# "STAR" and "GNUTAR". Default: [program "DUMP"].
# record - record the backup in the time-stamp-database of the backup
-# program (e.g. /etc/dumpdates for DUMP or
+# program (e.g. /var/lib/dumpdates for DUMP or
# /var/lib/amanda/gnutar-lists for GNUTAR.).
# Default: [record yes]
# skip-full - skip the disk when a level 0 is due, to allow full backups
# only be performed when an 'amadmin force'
# has been issued
# Default: [strategy standard]
- # tape_splitsize - (optional) split dump file into pieces of a specified size.
- # This allows dumps to be spread across multiple tapes, and can
- # potentially make more efficient use of tape space. Note that
- # if this value is too large (more than half the size of the
- # average dump being split), substantial tape space can be
- # wasted. If too small, large dumps will be split into
- # innumerable tiny dumpfiles, adding to restoration complexity.
- # A good rule of thumb, usually, is 1/10 of the size of your
- # tape. Default: [disabled]
- # split_diskbuffer - (optional) 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.
- # Default: [none]
- # fallback_splitsize - (optional) When dumping a split dump in PORT-WRITE
- # mode, if no split_diskbuffer is specified (or if we somehow
- # fail to use our split_diskbuffer), we must buffer split
- # chunks in memory. This specifies the maximum size split
- # chunks can be in this scenario, and thus the maximum amount
- # of memory consumed for in-memory splitting. Default: [10m]
- #
#
# Note that you may specify previously defined dumptypes as a shorthand way
# of defining parameters.
define dumptype user-star-span {
root-star
- tape_splitsize 3 Gb
comment "tape-spanning user partitions dumped with star"
priority medium
}
define dumptype user-tar-span {
root-tar
- tape_splitsize 3 Gb
comment "tape-spanning user partitions dumped with tar"
priority medium
}
define dumptype comp-user-span {
global
- tape_splitsize 5 Gb
comment "Tape-spanning non-root partitions on reasonably fast machines"
compress client fast
priority medium
define dumptype nocomp-test {
global
- comment "test dump without compression, no /etc/dumpdates recording"
+ comment "test dump without compression, no /var/lib/dumpdates recording"
compress none
record no
priority medium
define dumptype comp-test {
nocomp-test
- comment "test dump with compression, no /etc/dumpdates recording"
+ comment "test dump with compression, no /var/lib/dumpdates recording"
compress client fast
}
# same version as was used to generate the source in the repository,
# run the following in your git repository:
#
- # git checkout 8d2524ce78ca107074727cbd8780c26a203a107c
+ # git checkout 09b8fa6cb737f6e091931c494cbd56d12b3ad08d
# get to the project root
cd `dirname $0`/../..
## Add your modules here, then see below if you need to patch them. ##
######################################################################
- GNULIB_MODULES="getaddrinfo lock visibility base64 physmem fsusage"
- GNULIB_MODULES="$GNULIB_MODULES mkdtemp getopt full-read full-write"
- GNULIB_MODULES="$GNULIB_MODULES lseek ftruncate fseeko ftello regex"
+ GNULIB_MODULES="getaddrinfo lock base64 physmem fsusage"
+ GNULIB_MODULES="$GNULIB_MODULES mkdtemp getopt-gnu full-read full-write"
+ GNULIB_MODULES="$GNULIB_MODULES lseek ftruncate fseeko ftello regex environ"
+ GNULIB_MODULES="$GNULIB_MODULES inet_pton"
######################################################################
## End modules ##
.\" Title: amanda.conf
.\" Author: James da Silva <jds@amanda.org>
.\" Generator: DocBook XSL Stylesheets vsnapshot_8273 <http://docbook.sf.net/>
- .\" Date: 06/01/2010
+ .\" Date: 10/18/2010
.\" Manual: File formats and conventions
- .\" Source: Amanda 3.1.0
+ .\" Source: Amanda 3.2.0
.\" Language: English
.\"
- .TH "AMANDA\&.CONF" "5" "06/01/2010" "Amanda 3\&.1\&.0" "File formats and conventions"
+ .TH "AMANDA\&.CONF" "5" "10/18/2010" "Amanda 3\&.2\&.0" "File formats and conventions"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
\fBdevice_property\fR
and
\fBdevice\-property\fR
- have the same meaning\&.
+ have the same meaning\&. This manpage uses the dashed versions, but the underscored versions will be accepted for backward compatibility
.PP
Identifiers are names which are defined in the configuration itself, such as dumptypes or interfaces\&. Identifiers are are case\-insensitive, but sensitive to \'\fB\-\fR\' vs\&. \'\fB_\fR\'\&. Identifiers should be quoted in the configuration file, although For historical reasons, the quotes are optional\&.
.PP
define dumptype "dt" { # optional insensitive sensitive
"dumptype\-common" # optional insensitive sensitive
- strategy noincr # prohibited insensitive insensitive
+ strategy noinc # prohibited insensitive insensitive
}
.fi
.SS "VALUE SUFFIXES"
\fBtapecycle\fR \fIint\fR
.RS 4
Default:
- \fI15 tapes\fR\&. Typically tapes are used by Amanda in an ordered rotation\&. The
+ \fI15 tapes\fR\&. 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 \'\fBtapecycle\fR
+ \-1\' volumes have been written since\&.
+ .sp
+ It is considered good administrative practice to set the
+ \fBtapecycle\fR
+ 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\&.
+ .sp
+ Note: Amanda is commonly misconfigured with
+ \fBtapecycle\fR
+ equal to the number of tapes per
+ \fBdumpcycle\fR\&. In this misconfiguration, amanda may erase a full dump before a new one is completed\&. Recovery is then impossible\&. The
\fBtapecycle\fR
- parameter defines the size of that rotation\&. This parameter must be be larger than the number of tapes used in a dumpcycle\&.
+ must be at least one tape larger than the number of tapes per dumpcycle\&.
.sp
The number of tapes per dumpcycle is calculated by multiplying the number of
\fBamdump\fR
(the number of tapes used per run)\&. Typically
\fBtapecycle\fR
is set to two or four times the tapes per dumpcycle\&.
- .if n \{\
- .sp
- .\}
- .RS 4
- .it 1 an-trap
- .nr an-no-space-flag 1
- .nr an-break-flag 1
- .br
- .ps +1
- \fBNote\fR
- .ps -1
- .br
- Amanda is commonly misconfigured with \fBtapecycle\fR
- equal to the number of tapes per \fBdumpcycle\fR\&. In this
- misconfiguration, amanda may erase a full dump before a new one is completed,
- the recovery is then impossible\&. tapecycle must be at least one tape larger
- than the number of tapes per dumpcycle\&.
- .sp .5v
- .RE
- While Amanda is always willing to use a new tape in its rotation, it refuses to reuse a tape until at least \'\fBtapecycle\fR
- \-1\' number of other tapes have been used\&.
- .sp
- It is considered good administrative practice to set the
- \fBtapecycle\fR
- parameter slightly lower than the actual number of tapes in rotation\&. 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\&.
.RE
.PP
\fBusetimestamps\fR \fIbool\fR
\fBYes\fR\&. 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\&.
.RE
.PP
- \fBlabel_new_tapes\fR \fIstring\fR
+ \fBlabel\-new\-tapes\fR \fIstring\fR
.RS 4
Deprecated, use
\fBautolabel\fR
- option\&.
+ option with options
+ \fBvolume\-error empty\fR
+ to get equivalent behavior\&.
.sp
- Default: not set\&. When set, this directive will cause Amanda to automatically write an Amanda tape label to any blank tape she encounters\&. This option is DANGEROUS because when set, Amanda will ERASE any non\-Amanda tapes you may have, and may also ERASE any near\-failing tapes\&. Use with caution\&.
- .sp
- 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:
- \fBlabel_new_tapes "DailySet1\-%%%"\fR
+ Default: not set\&. When set, this directive will cause Amanda to automatically write an Amanda tape label to any blank tape she encounters\&.
.RE
.PP
- \fBautolabel\fR \fIstring\fR [\fBany\fR] [\fBother_config\fR] [\fBnon_amanda\fR] [\fBvolume_error\fR] [\fBempty\fR]
+ \fBautolabel\fR \fIstring\fR [\fBany\fR] [\fBother\-config\fR] [\fBnon\-amanda\fR] [\fBvolume\-error\fR] [\fBempty\fR]
.RS 4
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\&.
.sp
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:
\fBautolabel "DailySet1\-%%%" empty\fR
+ .sp
+ Note that many devices cannot distinguish an empty tape from an error condition, so it may is often necessary to include
+ \fBvolume\-error\fR
+ as an autolabel condition\&.
.PP
\fBany\fR
.RS 4
- equivalent to \'\fBother_config non_amanda volume_error empty\fR\'
+ equivalent to \'\fBother\-config non\-amanda volume\-error empty\fR\'
.RE
.PP
- \fBother_config\fR
+ \fBother\-config\fR
.RS 4
Label volumes with a valid Amanda label that do not match our
\fBlabelstr\fR\&. Danger: this may erase volumes
from other Amanda configurations without warning!
.RE
.PP
- \fBnon_amanda\fR
+ \fBnon\-amanda\fR
.RS 4
Label volumes which do not start with data that resembles an
Amanda header\&. Danger: this may erase volumes from other backup applications
without warning!
.RE
.PP
- \fBvolume_error\fR
+ \fBvolume\-error\fR
.RS 4
Label volumes where an error occurs while trying to read the label\&.
Danger: this may erase arbitrary volumes due to transient errors\&.
\fBtapedev\fR \fIstring\fR
.RS 4
Default:
- \fI"null:"\fR\&. The device name, referencing the name of a "device" section in the configuration file\&. See
- \fBamanda-devices\fR(7)
- for more information on device names\&.
- .sp
- If a tape changer is configured (see the
- \fBtpchanger\fR
- option), this option might not be used\&.
- .sp
- If
- \fBtapedev\fR
- is
- \fBnull:\fR, programs such as
- \fBamdump\fR
- will run normally but all images will be thrown away\&. This should only be used for debugging and testing, and probably only with the
- \fBrecord\fR
- option set to
- \fIno\fR\&.
+ \fI"null:"\fR\&. This parameter can either specify a device (explicitly or by referencing a device definition \- see
+ \fBamanda-devices\fR(7)) or a tape changer (explicitly or by referencing a device definition \- see
+ \fBamanda-changers\fR(7))\&.
.RE
.PP
- \fBdevice_property\fR \fIstring\fR \fIstring\fR
+ \fBdevice\-property\fR \fIstring\fR \fIstring\fR
.RS 4
These options can set various device properties\&. See
\fBamanda-devices\fR(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:
.nf
- device_property "BLOCK_SIZE" "128k"
+ device\-property "BLOCK_SIZE" "128k"
.fi
.RE
.PP
.PP
\fBtpchanger\fR \fIstring\fR
.RS 4
- Default: not set\&. The name of the tape changer\&. If a tape changer is not configured, this option is not used and should be commented out of the configuration file\&.
- .sp
- If a tape changer is configured, choose one of the changer scripts (e\&.g\&.
- \fBchg\-scsi\fR) and enter that here\&.
+ Default: not set\&. The tape changer to use\&. In most cases, only one of
+ \fBtpchanger\fR
+ or
+ \fBtapedev\fR
+ is specified, although for backward compatibility both may be specified if
+ \fBtpchanger\fR
+ gives the name of an old changer script\&. See
+ \fBamanda-changers\fR(7)
+ for more information on configuring changers\&.
.RE
.PP
\fBchangerdev\fR \fIstring\fR
\fBchangerfile\fR \fIstring\fR
.RS 4
Default:
- \fI"usr/adm/amanda/log/changer\-status"\fR\&. A tape changer configuration parameter\&. Usage depends on the particular changer defined with the
+ \fI"/usr/adm/amanda/log/changer\-status"\fR\&. A tape changer configuration parameter\&. Usage depends on the particular changer defined with the
\fBtpchanger\fR
option\&.
.RE
If a tape changer is configured, this may be set larger than one to let Amanda write to more than one tape\&.
.sp
Note that this is an upper bound on the number of tapes, and Amanda may use less\&.
- .sp
- Also note that as of this release, Amanda does not support true tape overflow\&. When it reaches the end of one tape, the backup image Amanda was processing starts over again on the next tape\&.
.RE
.PP
\fBmaxdumpsize\fR \fIint\fR
.RS 4
Default:
- \fI\fBruntapes\fR\fR\fI*\fR\fI\fBtape_length\fR\fR\&. Maximum number of bytes the planner will schedule for a run\&.
+ \fI\fBruntapes\fR\fR\fI*\fR\fI\fBtape\-length\fR\fR\&. Maximum number of bytes the planner will schedule for a run\&.
.sp
The default unit is Kbytes if it is not specified\&.
.RE
.RE
.RE
.PP
+ \fBtaper\-parallel\-write\fR \fIint\fR
+ .RS 4
+ .PP
+ Default:
+ \fI1\fR\&. Amanda can write simultaneously up to that number of volume at any given time\&. The changer must have as many drives\&.
+ .RE
+ .PP
\fBlabelstr\fR \fIstring\fR
.RS 4
Default:
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\&.
.RE
.PP
- \fBconnect_tries\fR \fIint\fR
+ \fBconnect\-tries\fR \fIint\fR
.RS 4
Default:
\fI3\fR\&. How many times the server will try a connection\&.
.RE
.PP
- \fBreq_tries\fR \fIint\fR
+ \fBreq\-tries\fR \fIint\fR
.RS 4
Default:
\fI3\fR\&. How many times the server will resend a REQ packet if it doesn\'t get the ACK packet\&.
\fBtapelist\fR(5)\&. Amanda maintains this file with information about the active set of tapes\&.
.RE
.PP
- \fBdevice_output_buffer_size\fR \fIint\fR
+ \fBdevice\-output\-buffer\-size\fR \fIint\fR
.RS 4
Default:
\fI1280k\fR\&. 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\&.
.RS 4
Default:
\fI20\fR\&. This option is deprecated; use the
- \fBdevice_output_buffer_size\fR
+ \fBdevice\-output\-buffer\-size\fR
directive instead\&.
\fBtapebufs\fR
works the same way, but the number specified is multiplied by the device blocksize prior to use\&.
\fBoff\fR\&. Whether an amdump run will flush the dumps from holding disk to tape\&.
.RE
.PP
- \fBamrecover_do_fsf\fR \fIbool\fR
+ \fBamrecover\-do\-fsf\fR \fIbool\fR
.RS 4
+ Deprecated; amrecover always uses fsf, and does not invoke amrestore\&.
+ .sp
Default:
\fBon\fR\&. Amrecover will call amrestore with the \-f flag for faster positioning of the tape\&.
.RE
.PP
- \fBamrecover_check_label\fR \fIbool\fR
+ \fBamrecover\-check\-label\fR \fIbool\fR
.RS 4
+ Deprecated; amrecover always checks the label, and does not invoke amrestore\&.
+ .sp
Default:
\fBon\fR\&. Amrecover will call amrestore with the \-l flag to check the label\&.
.RE
.PP
- \fBamrecover_changer\fR \fIstring\fR
+ \fBamrecover\-changer\fR \fIstring\fR
.RS 4
- Default: not set\&. Amrecover will use the changer if you use \'settape <string>\' and that string is the same as the amrecover_changer setting\&.
+ Default: not set\&. Amrecover will use the changer if you use \'settape <string>\' and that string is the same as the
+ \fBamrecover\-changer\fR
+ setting\&.
.RE
.PP
\fBcolumnspec\fR \fIstring\fR
\fIno default\fR\&. 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\&.
.RE
.PP
- \fBdebug_days\fR \fIint\fR
+ \fBdebug\-days\fR \fIint\fR
.RS 4
Default:
\fI3\fR\&. The number of days the debug files are kept\&.
.RE
.PP
- \fBdebug_auth\fR \fIint\fR
+ \fBdebug\-auth\fR \fIint\fR
.RS 4
Default:
\fI0\fR\&. Debug level of the auth module
.RE
.PP
- \fBdebug_event\fR \fIint\fR
+ \fBdebug\-event\fR \fIint\fR
.RS 4
Default:
\fI0\fR\&. Debug level of the event module
.RE
.PP
- \fBdebug_holding\fR \fIint\fR
+ \fBdebug\-holding\fR \fIint\fR
.RS 4
Default:
\fI0\fR\&. Debug level of the holdingdisk module
.RE
.PP
- \fBdebug_protocol\fR \fIint\fR
+ \fBdebug\-protocol\fR \fIint\fR
.RS 4
Default:
\fI0\fR\&. Debug level of the protocol module
.RE
.PP
- \fBdebug_planner\fR \fIint\fR
+ \fBdebug\-planner\fR \fIint\fR
.RS 4
Default:
\fI0\fR\&. Debug level of the planner process
.RE
.PP
- \fBdebug_driver\fR \fIint\fR
+ \fBdebug\-driver\fR \fIint\fR
.RS 4
Default:
\fI0\fR\&. Debug level of the driver process
.RE
.PP
- \fBdebug_dumper\fR \fIint\fR
+ \fBdebug\-dumper\fR \fIint\fR
.RS 4
Default:
\fI0\fR\&. Debug level of the dumper process
.RE
.PP
- \fBdebug_chunker\fR \fIint\fR
+ \fBdebug\-chunker\fR \fIint\fR
.RS 4
Default:
\fI0\fR\&. Debug level of the chunker process
.RE
.PP
- \fBdebug_taper\fR \fIint\fR
+ \fBdebug\-taper\fR \fIint\fR
.RS 4
Default:
\fI0\fR\&. Debug level of the taper process
Default: \-\-with\-tcpportrange or
\fI1024,65535\fR\&. Unreserved tcp port that will be used (bsd, bsdudp)\&. Range is inclusive\&.
.RE
+ .PP
+ \fBrecovery\-limit\fR [ \fIstring\fR | \fBsame\-host\fR ]
+ .RS 4
+ 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
+ \fBamanda-auth\fR(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
+ \fBamanda-match\fR(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\&.
+ .sp
+ Note that match expressions can be constructed to be forgiving of e\&.g\&., fully\-qualified vs\&. unqualified hostnames, but
+ \fBsame\-host\fR
+ requires an exact match\&.
+ .sp
+ 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\&.
+ .sp
+ 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\&.
+ .RE
.SH "HOLDINGDISK SECTION"
.PP
The
for more detail\&.
.RE
.PP
- \fBamandad_path\fR \fIstring\fR
+ \fBamandad\-path\fR \fIstring\fR
.RS 4
Default:
\fI"$libexec/amandad"\fR\&. Specify the amandad path of the client, only use with rsh/ssh authentification\&.
.RE
.PP
- \fBclient_username\fR \fIstring\fR
+ \fBclient\-username\fR \fIstring\fR
.RS 4
Default:
\fICLIENT_LOGIN\fR\&. Specify the username to connect on the client, only use with rsh/ssh authentification\&.
.RE
.PP
- \fBclient_port\fR [ \fIint\fR | \fIstring\fR ]
+ \fBclient\-port\fR [ \fIint\fR | \fIstring\fR ]
.RS 4
Default:
\fI"amanda"\fR\&. Specifies the port to connect to on the client\&. It can be a service name or a numeric port number\&.
compress client custom
.RS 4
Specify
- \fIclient_custom_compress\fR
+ \fBclient\-custom\-compress\fR
"PROG"
.sp
PROG must not contain white space and it must accept \-d for uncompress\&.
compress server custom
.RS 4
Specify
- \fBserver_custom_compress\fR
+ \fBserver\-custom\-compress\fR
"PROG"
.sp
PROG must not contain white space and it must accept \-d for uncompress\&.
option), Amanda (software) compression should be disabled\&.
.RE
.PP
- \fBclient_custom_compress\fR \fIstring\fR
+ \fBclient\-custom\-compress\fR \fIstring\fR
.RS 4
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\&.
.RE
.PP
- \fBserver_custom_compress\fR \fIstring\fR
+ \fBserver\-custom\-compress\fR \fIstring\fR
.RS 4
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\&.
.RE
.PP
encrypt client
.RS 4
- Specify client_encrypt "PROG"
+ Specify client\-encrypt "PROG"
.sp
PROG must not contain white space\&.
.sp
- Specify client_decrypt_option "decryption\-parameter" Default: "\-d"
+ Specify client\-decrypt\-option "decryption\-parameter" Default: "\-d"
.sp
decryption\-parameter must not contain white space\&.
.sp
.PP
encrypt server
.RS 4
- Specify server_encrypt "PROG"
+ Specify server\-encrypt "PROG"
.sp
PROG must not contain white space\&.
.sp
- Specify server_decrypt_option "decryption\-parameter" Default: "\-d"
+ Specify server\-decrypt\-option "decryption\-parameter" Default: "\-d"
.sp
decryption\-parameter must not contain white space\&.
.sp
is provided as a reference symmetric encryption program\&.
.RE
.PP
- \fBclient_encrypt\fR \fIstring\fR
+ \fBclient\-encrypt\fR \fIstring\fR
.RS 4
Default: none\&. The program to use to perform encryption/decryption on the client; used with "encrypt client"\&. Must not contain whitespace\&.
.RE
.PP
- \fBclient_decrypt_option\fR \fIstring\fR
+ \fBclient\-decrypt\-option\fR \fIstring\fR
.RS 4
- Default: \-d\&. The option that can be passed to client_encrypt to make it decrypt instead\&. Must not contain whitespace\&.
+ Default: \-d\&. The option that can be passed to client\-encrypt to make it decrypt instead\&. Must not contain whitespace\&.
.RE
.PP
- \fBserver_encrypt\fR \fIstring\fR
+ \fBserver\-encrypt\fR \fIstring\fR
.RS 4
Default: none\&. The program to use to perform encryption/decryption on the server; used with "encrypt server"\&. Must not contain whitespace\&.
.RE
.PP
- \fBserver_decrypt_option\fR \fIstring\fR
+ \fBserver\-decrypt\-option\fR \fIstring\fR
.RS 4
- Default: \-d\&. The option that can be passed to server_encrypt to make it decrypt instead\&. Must not contain whitespace\&.
+ Default: \-d\&. The option that can be passed to server\-encrypt to make it decrypt instead\&. Must not contain whitespace\&.
.RE
.PP
\fBestimate\fR [ \fBclient\fR | \fBcalcsize\fR | \fBserver\fR ]+
\fBrecord\fR \fIboolean\fR
.RS 4
Default:
-\fByes\fR\&. Whether to ask the backup program to update its database (e\&.g\&.
-/etc/dumpdates
+\fIyes\fR\&. 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\&.
has scheduled an incremental backup, these disks will be skipped\&.
.RE
.PP
- \fBssh_keys\fR \fIstring\fR
+ \fBssh\-keys\fR \fIstring\fR
.RS 4
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\&.
.RE
.RE
.RE
.PP
- \fBtape_splitsize\fR \fIint\fR
+ \fBallow\-split\fR \fIbool\fR
.RS 4
- Default: not set\&. Split dump file on tape into pieces of a specified size\&. This allows dumps to be spread across multiple tapes, and can potentially make more efficient use of tape space\&. Note that if this value is too large (more than half the size of the average dump being split), substantial tape space can be wasted\&. If too small, large dumps will be split into innumerable tiny dumpfiles, adding to restoration complexity\&. A good rule of thumb, usually, is 1/10 of the size of your tape\&.
+ 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\&.
+ .RE
+ .PP
+ \fBtape\-splitsize\fR \fIint\fR
+ .RS 4
+ Deprecated\&. See "Dump Splitting Configuration" below\&.
.sp
- The default unit is Kbytes if it is not specified\&.
+ Default: not set\&. Split dump file on tape into pieces of a specified size\&. The default unit is Kbytes if it is not specified\&.
.RE
.PP
- \fBsplit_diskbuffer\fR \fIstring\fR
+ \fBsplit\-diskbuffer\fR \fIstring\fR
.RS 4
+ .PP
+ 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\&.
.RE
.PP
- \fBfallback_splitsize\fR \fIint\fR
+ \fBfallback\-splitsize\fR \fIint\fR
.RS 4
- Default:
- \fI10M\fR\&. When dumping a split dump in PORT\-WRITE mode, if no split_diskbuffer is specified (or if we somehow fail to use our split_diskbuffer), we must buffer split chunks in memory\&. This specifies the maximum size split chunks can be in this scenario, and thus the maximum amount of memory consumed for in\-memory splitting\&. The size of this buffer can be changed from its (very conservative) default to a value reflecting the amount of memory that each taper process on the dump server may reasonably consume\&.
+ Deprecated\&. See "Dump Splitting Configuration" below\&.
.sp
- The default unit is Kbytes if it is not specified\&.
+ Default:
+ \fI10M\fR\&. This specifies the part size used when no
+ \fBsplit\-diskbuffer\fR
+ 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\&.
+ .RE
+ .PP
+ \fBrecovery\-limit\fR [ \fBsame\-host\fR | \fIstring\fR ]*
+ .RS 4
+ Default: global value\&. This parameter overrides the global
+ \fBrecovery\-limit\fR
+ parameter for DLEs of this dumptype\&.
.RE
.PP
The following
The default unit is Kbytes if it is not specified\&.
.RE
.PP
+ \fBpart\-size\fR \fIint\fR
+ .RS 4
+ 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
+ \fBpart\-cache\-max\-size\fR
+ 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\&.
+ .RE
+ .PP
+ \fBpart\-cache\-type\fR [ \fBnone\fR | \fBdisk\fR | \fBmemory\fR ]
+ .RS 4
+ Default: none\&. When part caching is required, this parameter specifies the type of caching that will be used\&. The options include no caching (\fBnone\fR), in which case a failed part will cause the entire dump to fail; on\-disk caching (\fBdisk\fR), for which
+ \fBpart\-cache\-dir\fR
+ must be set properly; and in\-memory caching (\fBmemory\fR), which on most systems severely restrains the size of the part that can be written\&. See "Dump Splitting Configuration" below\&.
+ .RE
+ .PP
+ \fBpart\-cache\-dir\fR \fIstring\fR
+ .RS 4
+ Default: none\&. The directory in which part\-cache files can be written when caching on disk\&. See "Dump Splitting Configuration" below\&.
+ .RE
+ .PP
+ \fBpart\-cache\-max\-size\fR \fIint\fR
+ .RS 4
+ 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\&.
+ .RE
+ .PP
\fBspeed\fR \fIint\fR
.RS 4
Default:
.PP
In addition to options, another
\fBtapetype\fR
- name may be supplie as an identifier, which makes this
+ name may be supplied as an identifier, which makes this
\fBtapetype\fR
inherit options from another
\fBtapetype\fR\&. 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:
\fI5000\fR\&. Scripts are executed in that order, it is useful if you have many scripts and they must be executed in a spefific order\&.
.RE
.PP
- \fBexecute_where\fR [ \fBclient\fR | \fBserver\fR ]
+ \fBexecute\-where\fR [ \fBclient\fR | \fBserver\fR ]
.RS 4
Default:
\fBclient\fR\&. Where the script must be executed, on the client or server\&.
.RE
.PP
- \fB>execute_on\fR \fIexecute_on\fR [,\fIexecute_on\fR]*
+ \fBexecute\-on\fR \fIexecute_on\fR [,\fIexecute_on\fR]*
.RS 4
No default\&. When the script must be executed, you can specify many of them:
.PP
.fi
.RE
.PP
- \fBproperty\fR> [\fBappend\fR] [\fBpriority\fR] \fIstring\fR \fIstring\fR+
+ \fBproperty\fR [\fBappend\fR] [\fBpriority\fR] \fIstring\fR \fIstring\fR+
.RS 4
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\&.
\fBappend\fR
define device \fIname\fR {
commend "\fIcomment (optional)\fR"
tapedev "\fIdevice\-specifier\fR"
- device_property "\fIprop\-name\fR" "\fIprop\-value\fR"
+ device\-property "\fIprop\-name\fR" "\fIprop\-value\fR"
\&.\&.\&.
}
.fi
parmeter is optional and only for the user\'s convenience\&.
.PP
An arbitrary number of
- \fIdevice_property\fR
+ \fIdevice\-property\fR
parameters can be specified\&. Again, see
\fBamanda-devices\fR(7)
for information on device properties\&.
See
\fBamanda-changers\fR(7)
for more information on configuring changers\&.
+ .SH "DUMP SPLITTING CONFIGURATION"
+ .PP
+ 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\&.
+ .PP
+ 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\&.
+ .PP
+ 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\&.
+ .PP
+ 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\&.
+ .PP
+ In versions of Amanda through 3\&.1\&.*, splitting was controlled by the dumptype parameters
+ \fBtape\-splitsize\fR,
+ \fBsplit\-diskbuffer\fR, and
+ \fBfallback\-splitsize\fR\&. These keywords had confusing and non\-intuitive interactions, and have since been deprecated\&.
+ .PP
+ If the deprecated keywords are not present, subsequent versions of Amanda use the dumptype parameter
+ \fBallow\-split\fR
+ to control whether a DLE can be split, and the
+ \fItapetype\fR
+ parameters
+ \fBpart\-size\fR,
+ \fBpart\-cache\-type\fR,
+ \fBpart\-cache\-dir\fR, and
+ \fBpart\-cache\-max\-size\fR\&. The
+ \fBpart\-size\fR
+ specifies the "normal" part size, while the
+ \fBpart\-cache\-*\fR
+ parameters describe how to behave when caching is required (on PORT\-WRITE)\&. Full details on these parameters are given above\&.
.SH "SEE ALSO"
.PP
\fBamanda\fR(8),
.\" Title: disklist
.\" Author: James da Silva <jds@amanda.org>
.\" Generator: DocBook XSL Stylesheets vsnapshot_8273 <http://docbook.sf.net/>
- .\" Date: 06/01/2010
+ .\" Date: 10/18/2010
.\" Manual: File formats and conventions
- .\" Source: Amanda 3.1.0
+ .\" Source: Amanda 3.2.0
.\" Language: English
.\"
- .TH "DISKLIST" "5" "06/01/2010" "Amanda 3\&.1\&.0" "File formats and conventions"
+ .TH "DISKLIST" "5" "10/18/2010" "Amanda 3\&.2\&.0" "File formats and conventions"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
\fBamanda\&.conf\fR
file\&.
\fIDumptype\fRs specify backup related parameters, such as whether to compress the backups, whether to record backup results in
-/etc/dumpdates, the disk\'s relative priority, etc\&.
+/var/lib/dumpdates, the disk\'s relative priority, etc\&.
.RE
.PP
\fIspindle\fR
</varlistentry>'>
<!ENTITY configoverride.synopsis
- '<group rep="repeat" choice="opt"><arg choice="req"><option>-o</option> <replaceable>configoption</replaceable></arg></group>'>
+ '<arg rep="repeat" choice="opt"><option>-o</option> <replaceable>configoption</replaceable></arg>'>
<!ENTITY configoverride.varlistentry
'<varlistentry>
<!ENTITY tapelist '<manref name="tapelist" vol="5"/>'>
<!-- IDs for files used by AMANDA-->
-<!ENTITY dumpdates '<filename>/etc/dumpdates</filename>'>
+<!ENTITY dumpdates '<filename>/var/lib/dumpdates</filename>'>
<!-- IDs for AMANDA commands-->
<!ENTITY amadmin ' <command>amadmin</command>'>
and
<amkeyword>MailTo</amkeyword>
are treated the same. Also, the characters
- '<amkeyword>-</amkeyword>'
- and
- '<amkeyword>_</amkeyword>'
+ '<amkeyword>-</amkeyword>' and '<amkeyword>_</amkeyword>'
are interchangeable in all predefined Amanda keywords:
<amkeyword>device_property</amkeyword>
and
<amkeyword>device-property</amkeyword>
- have the same meaning.</para>
+ have the same meaning. This manpage uses the dashed versions, but the
+ underscored versions will be accepted for backward compatibility</para>
<para>Identifiers are names which are defined in the configuration itself, such
as dumptypes or interfaces. Identifiers are are case-insensitive, but
sensitive to
- '<amkeyword>-</amkeyword>'
- vs.
- '<amkeyword>_</amkeyword>'.
+ '<amkeyword>-</amkeyword>' vs. '<amkeyword>_</amkeyword>'.
Identifiers should be quoted in the configuration file, although For historical
reasons, the quotes are optional.</para>
define dumptype "dt" { # optional insensitive sensitive
"dumptype-common" # optional insensitive sensitive
- strategy noincr # prohibited insensitive insensitive
+ strategy noinc # prohibited insensitive insensitive
}
</programlisting>
</para>
<listitem>
<para>Default:
<amdefault>15 tapes</amdefault>.
- Typically tapes are used by Amanda in an ordered rotation. The <amkeyword>tapecycle</amkeyword> parameter
- defines the size of that rotation. This parameter must be be larger than the number of tapes
- used in a dumpcycle.</para>
+
+ 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 '<amkeyword>tapecycle</amkeyword> -1'
+ volumes have been written since.</para>
+
+ <para> It is considered good administrative practice to set the
+ <amkeyword>tapecycle</amkeyword> 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.</para>
+
+ <para>Note: Amanda is commonly misconfigured with <amkeyword>tapecycle</amkeyword>
+ equal to the number of tapes per <amkeyword>dumpcycle</amkeyword>. In this
+ misconfiguration, amanda may erase a full dump before a new one is
+ completed. Recovery is then impossible. The
+ <amkeyword>tapecycle</amkeyword> must be at least one tape larger than the
+ number of tapes per dumpcycle.</para>
+
<para>
The number of tapes per dumpcycle is calculated by multiplying the number of
&amdump; runs per dump cycle <amkeyword>runspercycle</amkeyword> (the
<amkeyword>tapecycle</amkeyword> is set to two or four times the tapes
per dumpcycle.</para>
- <note>Amanda is commonly misconfigured with <amkeyword>tapecycle</amkeyword>
- equal to the number of tapes per <amkeyword>dumpcycle</amkeyword>. In this
- misconfiguration, amanda may erase a full dump before a new one is completed,
- the recovery is then impossible. tapecycle must be at least one tape larger
- than the number of tapes per dumpcycle.
- </note>
-
- <para>While Amanda is always willing to use a new tape in its rotation, it refuses to reuse a tape until at
- least '<amkeyword>tapecycle</amkeyword> -1' number of other tapes have been used.
- </para>
- <para>
- It is considered good administrative practice to set the <amkeyword>tapecycle</amkeyword> parameter
- slightly lower than the actual number of tapes in rotation. 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.
- </para>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
- <term><amkeyword>label_new_tapes</amkeyword>
+ <term><amkeyword>label-new-tapes</amkeyword>
<amtype>string</amtype></term>
<listitem>
- <para>Deprecated, use <amkeyword>autolabel</amkeyword> option.</para>
+ <para>Deprecated, use <amkeyword>autolabel</amkeyword> option with options <amkeyword>volume-error empty</amkeyword> to get equivalent behavior.</para>
<para>Default: not set.
When set, this directive will cause Amanda to automatically write an Amanda
- tape label to any blank tape she encounters. This option is DANGEROUS
- because when set, Amanda will ERASE any non-Amanda tapes you may have, and may
- also ERASE any near-failing tapes. Use with caution.</para>
- <para>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:
- <markup>label_new_tapes "DailySet1-%%%"</markup>
- </para>
+ tape label to any blank tape she encounters.</para>
</listitem>
</varlistentry>
<term><amkeyword>autolabel</amkeyword>
<amtype>string</amtype>
[<amkeyword>any</amkeyword>]
- [<amkeyword>other_config</amkeyword>]
- [<amkeyword>non_amanda</amkeyword>]
- [<amkeyword>volume_error</amkeyword>]
+ [<amkeyword>other-config</amkeyword>]
+ [<amkeyword>non-amanda</amkeyword>]
+ [<amkeyword>volume-error</amkeyword>]
[<amkeyword>empty</amkeyword>]</term>
<listitem>
<para>Default: not set.
Example:
<markup>autolabel "DailySet1-%%%" empty</markup>
</para>
+ <para>Note that many devices cannot distinguish an empty tape from an error
+ condition, so it may is often necessary to include
+ <amkeyword>volume-error</amkeyword> as an autolabel condition.</para>
<variablelist remap='TP'>
<varlistentry>
<term><amkeyword>any</amkeyword></term>
- <listitem>equivalent to '<amkeyword>other_config non_amanda volume_error empty</amkeyword>'
+ <listitem>equivalent to '<amkeyword>other-config non-amanda volume-error empty</amkeyword>'
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>other_config</amkeyword></term>
+ <term><amkeyword>other-config</amkeyword></term>
<listitem>Label volumes with a valid Amanda label that do not match our
<amkeyword>labelstr</amkeyword>. Danger: this may erase volumes
from other Amanda configurations without warning!
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>non_amanda</amkeyword></term>
+ <term><amkeyword>non-amanda</amkeyword></term>
<listitem>Label volumes which do not start with data that resembles an
Amanda header. Danger: this may erase volumes from other backup applications
without warning!
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>volume_error</amkeyword></term>
+ <term><amkeyword>volume-error</amkeyword></term>
<listitem>Label volumes where an error occurs while trying to read the label.
Danger: this may erase arbitrary volumes due to transient errors.
</listitem>
<listitem>
<para>Default:
<amdefault>"null:"</amdefault>.
- The device name, referencing the name of a "device" section in the configuration file. See
- <manref name="amanda-devices" vol="7"/>
- for more information on device names.</para>
+ This parameter can either specify a device (explicitly or by referencing a device definition - see <manref name="amanda-devices" vol="7" />)
+ or a tape changer (explicitly or by referencing a device definition - see <manref name="amanda-changers" vol="7" />).</para>
- <para>If a tape changer is configured
- (see the
- <amkeyword>tpchanger</amkeyword>
- option), this option might not be used.</para>
-
- <para>If <amkeyword>tapedev</amkeyword> is
- <emphasis remap='B'>null:</emphasis>,
- programs such as
- &amdump;
- will run normally but all images will be thrown away.
- This should only be used for debugging and testing,
- and probably only with the
- <amkeyword>record</amkeyword>
- option set to
- <amdefault>no</amdefault>.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>device_property</amkeyword> <amtype>string</amtype> <amtype>string</amtype></term>
+ <term><amkeyword>device-property</amkeyword> <amtype>string</amtype> <amtype>string</amtype></term>
<listitem>
<para>These options can set various device properties. See
<manref name="amanda-devices" vol="7"/>
the property to set, and the second contains its value. For example, to set
a fixed block size of 128k, write:</para>
<programlisting>
- device_property "BLOCK_SIZE" "128k"
+ device-property "BLOCK_SIZE" "128k"
</programlisting>
</listitem>
<varlistentry>
<term><amkeyword>tpchanger</amkeyword> <amtype>string</amtype></term>
<listitem>
- <para>Default: not set.
- The name of the tape changer.
- If a tape changer is not configured, this option is not used
- and should be commented out of the configuration file.</para>
- <para>If a tape changer is configured, choose one of the changer scripts
- (e.g. <emphasis remap='B'>chg-scsi</emphasis>)
- and enter that here.</para>
+ <para>Default: not set. The tape changer to use. In most cases, only one of
+ <amkeyword>tpchanger</amkeyword> or <amkeyword>tapedev</amkeyword> is
+ specified, although for backward compatibility both may be specified if
+ <amkeyword>tpchanger</amkeyword> gives the name of an old changer script.
+ See <manref name="amanda-changers" vol="7" /> for more information on
+ configuring changers.</para>
</listitem>
</varlistentry>
<term><amkeyword>changerfile</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>Default:
- <amdefault>"usr/adm/amanda/log/changer-status"</amdefault>.
+ <amdefault>"/usr/adm/amanda/log/changer-status"</amdefault>.
A tape changer configuration parameter.
Usage depends on the particular changer defined with the
<amkeyword>tpchanger</amkeyword>
let Amanda write to more than one tape.</para>
<para>Note that this is an upper bound on the number of tapes,
and Amanda may use less.</para>
- <para>Also note that as of this release, Amanda does not support true tape overflow.
- When it reaches the end of one tape,
- the backup image Amanda was processing starts over again on the next tape.</para>
</listitem>
</varlistentry>
<term><amkeyword>maxdumpsize</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
- <amdefault><amkeyword>runtapes</amkeyword>*<amkeyword>tape_length</amkeyword></amdefault>.
+ <amdefault><amkeyword>runtapes</amkeyword>*<amkeyword>tape-length</amkeyword></amdefault>.
Maximum number of bytes the planner will schedule for a run.</para>
<para>The default unit is Kbytes if it is not specified.</para>
</listitem>
</listitem>
</varlistentry>
<varlistentry>
+ <term><amkeyword>taper-parallel-write</amkeyword> <amtype>int</amtype></term>
+ <listitem>
+ </listitem>
+ <para>Default: <amdefault>1</amdefault>.
+ Amanda can write simultaneously up to that number of volume at any given
+ time. The changer must have as many drives.</para>
+ </varlistentry>
+ <varlistentry>
<term><amkeyword>labelstr</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>Default:
</varlistentry>
<varlistentry>
- <term><amkeyword>connect_tries</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>connect-tries</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>3</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>req_tries</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>req-tries</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>3</amdefault>.
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>device_output_buffer_size</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>device-output-buffer-size</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>1280k</amdefault>.
<para>Default:
<amdefault>20</amdefault>.
This option is deprecated; use
- the <amkeyword>device_output_buffer_size</amkeyword> directive
+ the <amkeyword>device-output-buffer-size</amkeyword> directive
instead. <amkeyword>tapebufs</amkeyword> works the same way,
but the number specified is multiplied by the device blocksize prior
to use.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>amrecover_do_fsf</amkeyword> <amtype>bool</amtype></term>
+ <term><amkeyword>amrecover-do-fsf</amkeyword> <amtype>bool</amtype></term>
<listitem>
+ <para>Deprecated; amrecover always uses fsf, and does not invoke amrestore.</para>
<para>Default:
<amkeyword>on</amkeyword>.
Amrecover will call amrestore with the -f flag for faster positioning of the tape.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>amrecover_check_label</amkeyword> <amtype>bool</amtype></term>
+ <term><amkeyword>amrecover-check-label</amkeyword> <amtype>bool</amtype></term>
<listitem>
+ <para>Deprecated; amrecover always checks the label, and does not invoke amrestore.</para>
<para>Default:
<amkeyword>on</amkeyword>.
Amrecover will call amrestore with the -l flag to check the label.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>amrecover_changer</amkeyword> <amtype>string</amtype></term>
+ <term><amkeyword>amrecover-changer</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>Default: not set.
Amrecover will use the changer if you use 'settape <string>' and that string
- is the same as the amrecover_changer setting.</para>
+ is the same as the <amkeyword>amrecover-changer</amkeyword> setting.</para>
</listitem>
</varlistentry>
<varlistentry>
</varlistentry>
<varlistentry>
- <term><amkeyword>debug_days</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>debug-days</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>3</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>debug_auth</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>debug-auth</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>0</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>debug_event</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>debug-event</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>0</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>debug_holding</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>debug-holding</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>0</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>debug_protocol</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>debug-protocol</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>0</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>debug_planner</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>debug-planner</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>0</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>debug_driver</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>debug-driver</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>0</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>debug_dumper</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>debug-dumper</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>0</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>debug_chunker</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>debug-chunker</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>0</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>debug_taper</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>debug-taper</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>Default:
<amdefault>0</amdefault>.
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><amkeyword>recovery-limit</amkeyword> [ <amtype>string</amtype> | <amkeyword>same-host</amkeyword> ]</term>
+ <listitem>
+ <para>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 <manref name="amanda-auth" vol="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 <manref name="amanda-match" vol="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.</para>
+
+ <para>Note that match expressions can be constructed to be
+ forgiving of e.g., fully-qualified vs. unqualified hostnames, but
+ <amkeyword>same-host</amkeyword> requires an exact match.</para>
+
+ <para>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.</para>
+
+ <para>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.</para>
+
+ </listitem>
+ </varlistentry>
+
</variablelist>
</refsect1>
</varlistentry>
<varlistentry>
- <term><amkeyword>amandad_path</amkeyword> <amtype>string</amtype></term>
+ <term><amkeyword>amandad-path</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>Default:
<amdefault>"$libexec/amandad"</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>client_username</amkeyword> <amtype>string</amtype></term>
+ <term><amkeyword>client-username</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>Default:
<amdefault>CLIENT_LOGIN</amdefault>.
</varlistentry>
<varlistentry>
- <term><amkeyword>client_port</amkeyword> [ <amtype>int</amtype> | <amtype>string</amtype> ]</term>
+ <term><amkeyword>client-port</amkeyword> [ <amtype>int</amtype> | <amtype>string</amtype> ]</term>
<listitem>
<para>Default:
<amdefault>"amanda"</amdefault>.
<varlistentry>
<term>compress client custom</term>
<listitem>
- <para>Specify <emphasis>client_custom_compress</emphasis> "PROG"</para>
+ <para>Specify <amkeyword>client-custom-compress</amkeyword> "PROG"</para>
<para>PROG must not contain white space and it must accept -d for uncompress.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>compress server custom</term>
<listitem>
- <para>Specify <amkeyword>server_custom_compress</amkeyword> "PROG"</para>
+ <para>Specify <amkeyword>server-custom-compress</amkeyword> "PROG"</para>
<para>PROG must not contain white space and it must accept -d for uncompress.</para>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
- <term><amkeyword>client_custom_compress</amkeyword> <amtype>string</amtype></term>
+ <term><amkeyword>client-custom-compress</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>Default: none.
The program to use to perform compression/decompression on the client; used with
</varlistentry>
<varlistentry>
- <term><amkeyword>server_custom_compress</amkeyword> <amtype>string</amtype></term>
+ <term><amkeyword>server-custom-compress</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>Default: none.
The program to use to perform compression/decompression on the server; used with
<varlistentry>
<term>encrypt client</term>
<listitem>
- <para>Specify client_encrypt "PROG"</para>
+ <para>Specify client-encrypt "PROG"</para>
<para>PROG must not contain white space.</para>
- <para>Specify client_decrypt_option "decryption-parameter" Default: "-d"</para>
+ <para>Specify client-decrypt-option "decryption-parameter" Default: "-d"</para>
<para>decryption-parameter must not contain white space.</para>
<para>(See dumptype client-encrypt-nocomp in example/amanda.conf for reference)</para>
</listitem>
<varlistentry>
<term>encrypt server</term>
<listitem>
- <para>Specify server_encrypt "PROG"</para>
+ <para>Specify server-encrypt "PROG"</para>
<para>PROG must not contain white space.</para>
- <para>Specify server_decrypt_option "decryption-parameter" Default: "-d"</para>
+ <para>Specify server-decrypt-option "decryption-parameter" Default: "-d"</para>
<para>decryption-parameter must not contain white space.</para>
<para>(See dumptype server-encrypt-fast in example/amanda.conf for reference)</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>client_encrypt</amkeyword> <amtype>string</amtype></term>
+ <term><amkeyword>client-encrypt</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>Default: none.
The program to use to perform encryption/decryption on the client; used with
</varlistentry>
<varlistentry>
- <term><amkeyword>client_decrypt_option</amkeyword> <amtype>string</amtype></term>
+ <term><amkeyword>client-decrypt-option</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>Default: -d.
- The option that can be passed to client_encrypt to make it decrypt instead.
+ The option that can be passed to client-encrypt to make it decrypt instead.
Must not contain whitespace.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>server_encrypt</amkeyword> <amtype>string</amtype></term>
+ <term><amkeyword>server-encrypt</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>Default: none.
The program to use to perform encryption/decryption on the server; used with
</varlistentry>
<varlistentry>
- <term><amkeyword>server_decrypt_option</amkeyword> <amtype>string</amtype></term>
+ <term><amkeyword>server-decrypt-option</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>Default: -d.
- The option that can be passed to server_encrypt to make it decrypt instead.
+ The option that can be passed to server-encrypt to make it decrypt instead.
Must not contain whitespace.</para>
</listitem>
</varlistentry>
<term><amkeyword>record</amkeyword> <amtype>boolean</amtype></term>
<listitem>
<para>Default:
-<amkeyword>yes</amkeyword>.
-Whether to ask the backup program to update its database (e.g. <filename>/etc/dumpdates</filename>
+<emphasis remap='I'>yes</emphasis>.
+Whether to ask the backup program to update its database (e.g. <filename>/var/lib/dumpdates</filename>
for DUMP or <filename>/usr/local/var/amanda/gnutar-lists</filename> for GNUTAR) of time stamps.
This is normally enabled for daily backups and turned off for periodic archival runs.</para>
</listitem>
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>ssh_keys</amkeyword> <amtype>string</amtype></term>
+ <term><amkeyword>ssh-keys</amkeyword> <amtype>string</amtype></term>
<listitem>
<para>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.</para>
</varlistentry>
<varlistentry>
- <term><amkeyword>tape_splitsize</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>allow-split</amkeyword> <amtype>bool</amtype></term>
+ <listitem>
+ <para>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.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><amkeyword>tape-splitsize</amkeyword> <amtype>int</amtype></term>
<listitem>
+ <para>Deprecated. See "Dump Splitting Configuration" below.</para>
<para>Default: not set.
Split dump file on tape into pieces of a specified size.
- This allows dumps to be spread across multiple tapes, and can potentially
- make more efficient use of tape space.
- Note that if this value is too large (more than half the size of the
- average dump being split), substantial tape space can be wasted.
- If too small, large dumps will be split into innumerable tiny dumpfiles,
- adding to restoration complexity.
- A good rule of thumb, usually, is 1/10 of the size of your tape.</para>
- <para>The default unit is Kbytes if it is not specified.</para>
+ The default unit is Kbytes if it is not specified.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>split_diskbuffer</amkeyword> <amtype>string</amtype></term>
+ <term><amkeyword>split-diskbuffer</amkeyword> <amtype>string</amtype></term>
+ <para>Deprecated. See "Dump Splitting Configuration" below.</para>
<listitem>
<para>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.
</varlistentry>
<varlistentry>
- <term><amkeyword>fallback_splitsize</amkeyword> <amtype>int</amtype></term>
+ <term><amkeyword>fallback-splitsize</amkeyword> <amtype>int</amtype></term>
<listitem>
+ <para>Deprecated. See "Dump Splitting Configuration" below.</para>
<para>Default:
<amdefault>10M</amdefault>.
- When dumping a split dump in PORT-WRITE mode, if no split_diskbuffer is
- specified (or if we somehow fail to use our split_diskbuffer), we must
- buffer split chunks in memory.
- This specifies the maximum size split chunks can be in this scenario,
+ This specifies the part size used when no <amkeyword>split-diskbuffer</amkeyword> 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 size of this buffer can be changed from its (very conservative) default
- to a value reflecting the amount of memory that each taper process on
- the dump server may reasonably consume.
- </para>
- <para>The default unit is Kbytes if it is not specified.</para>
+ The default unit is Kbytes if it is not specified.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><amkeyword>recovery-limit</amkeyword>
+ [ <amkeyword>same-host</amkeyword> | <amtype>string</amtype> ]*</term>
+ <listitem>
+
+ <para>Default: global value. This parameter overrides the global
+ <amkeyword>recovery-limit</amkeyword> parameter for DLEs of this
+ dumptype.</para>
+
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><amkeyword>part-size</amkeyword> <amtype>int</amtype></term>
+ <listitem>
+ <para>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
+ <amkeyword>part-cache-max-size</amkeyword> 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.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><amkeyword>part-cache-type</amkeyword> [ <amkeyword>none</amkeyword> | <amkeyword>disk</amkeyword> | <amkeyword>memory</amkeyword> ] </term>
+ <listitem>
+ <para>Default: none. When part caching is required, this parameter specifies
+ the type of caching that will be used. The options include no caching
+ (<amkeyword>none</amkeyword>), in which case a failed part will cause the
+ entire dump to fail; on-disk caching (<amkeyword>disk</amkeyword>), for
+ which <amkeyword>part-cache-dir</amkeyword> must be set properly; and
+ in-memory caching (<amkeyword>memory</amkeyword>), which on most systems
+ severely restrains the size of the part that can be written. See "Dump
+ Splitting Configuration" below.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><amkeyword>part-cache-dir</amkeyword> <amtype>string</amtype></term>
+ <listitem>
+ <para>Default: none.
+ The directory in which part-cache files can be written when caching on disk.
+ See "Dump Splitting Configuration" below.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><amkeyword>part-cache-max-size</amkeyword> <amtype>int</amtype></term>
+ <listitem>
+ <para>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.</para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><amkeyword>speed</amkeyword> <amtype>int</amtype></term>
<listitem>
<para>In addition to options, another
<amkeyword>tapetype</amkeyword>
- name may be supplie as an identifier, which makes this
+ name may be supplied as an identifier, which makes this
<amkeyword>tapetype</amkeyword>
inherit options from another
<amkeyword>tapetype</amkeyword>.
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>execute_where</amkeyword> [ <amkeyword>client</amkeyword> | <amkeyword>server</amkeyword> ]</term>
+ <term><amkeyword>execute-where</amkeyword> [ <amkeyword>client</amkeyword> | <amkeyword>server</amkeyword> ]</term>
<listitem>
<para>Default: <amkeyword>client</amkeyword>. Where the script must be executed, on the client or server.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>>execute_on</amkeyword> <amtype>execute_on</amtype> [,<amtype>execute_on</amtype>]*</term>
+ <term><amkeyword>execute-on</amkeyword> <amtype>execute_on</amtype> [,<amtype>execute_on</amtype>]*</term>
<listitem>
<para>No default. When the script must be executed, you can specify many of them:</para>
<!-- .RS -->
</listitem>
</varlistentry>
<varlistentry>
- <term><amkeyword>property</amkeyword>> [<amkeyword>append</amkeyword>] [<amkeyword>priority</amkeyword>] <amtype>string</amtype> <amtype>string</amtype>+</term>
+ <term><amkeyword>property</amkeyword> [<amkeyword>append</amkeyword>] [<amkeyword>priority</amkeyword>] <amtype>string</amtype> <amtype>string</amtype>+</term>
<listitem>
<para>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.
define device <emphasis remap='I'>name</emphasis> {
commend "<emphasis remap='I'>comment (optional)</emphasis>"
tapedev "<emphasis remap='I'>device-specifier</emphasis>"
- device_property "<emphasis remap='I'>prop-name</emphasis>" "<emphasis remap='I'>prop-value</emphasis>"
+ device-property "<emphasis remap='I'>prop-name</emphasis>" "<emphasis remap='I'>prop-value</emphasis>"
<literal>...</literal>
}
</programlisting>
parmeter is optional and only for the user's convenience.</para>
<para>An arbitrary number of <emphasis
- remap='I'>device_property</emphasis> parameters can be specified.
+ remap='I'>device-property</emphasis> parameters can be specified.
Again, see
<manref name="amanda-devices" vol="7"/>
for information on device properties.</para>
</refsect1>
+ <refsect1><title>Dump Splitting Configuration</title>
+
+ <para>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.</para>
+
+ <para>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.</para>
+
+ <para>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.</para>
+
+ <para>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.</para>
+
+ <para>In versions of Amanda through 3.1.*, splitting was controlled by the
+ dumptype parameters <amkeyword>tape-splitsize</amkeyword>,
+ <amkeyword>split-diskbuffer</amkeyword>, and
+ <amkeyword>fallback-splitsize</amkeyword>. These keywords had
+ confusing and non-intuitive interactions, and have since been
+ deprecated.</para>
+
+ <para>If the deprecated keywords are not present, subsequent versions
+ of Amanda use the dumptype parameter
+ <amkeyword>allow-split</amkeyword> to control whether a DLE can be
+ split, and the <emphasis>tapetype</emphasis> parameters
+ <amkeyword>part-size</amkeyword>,
+ <amkeyword>part-cache-type</amkeyword>,
+ <amkeyword>part-cache-dir</amkeyword>, and
+ <amkeyword>part-cache-max-size</amkeyword>. The
+ <amkeyword>part-size</amkeyword> specifies the "normal" part size,
+ while the <amkeyword>part-cache-*</amkeyword> parameters describe
+ how to behave when caching is required (on PORT-WRITE). Full
+ details on these parameters are given above.</para>
+
+ </refsect1>
+
<seealso>
<manref name="amanda-client.conf" vol="5"/>,
<manref name="amanda-applications" vol="7"/>,
#include "amanda.h"
#include "conffile.h"
+ #include "fileheader.h"
#include "amfeatures.h"
typedef struct netif_s {
char *name; /* label name for disk */
char *device; /* device name for disk, eg "sd0g" */
char *dtype_name; /* name of dump type */
+ dumptype_t *config; /* pointer to the dumptype config */
char *program; /* dump program, eg DUMP, STAR, GNUTAR */
char *srvcompprog; /* custom compression server filter */
char *clntcompprog; /* custom compression client filter */
int exclude_optional; /* exclude list are optional */
int include_optional; /* include list are optional */
int priority; /* priority of disk */
- off_t tape_splitsize; /* size of dumpfile chunks on tape */
- char *split_diskbuffer; /* place where we can buffer PORT-WRITE dumps other than RAM */
- off_t fallback_splitsize; /* size for in-RAM PORT-WRITE buffers */
+ int allow_split;
+ off_t splitsize;
+ off_t tape_splitsize; /* size of dumpfile chunks on tape */
+ char *split_diskbuffer; /* place where we can buffer PORT-WRITE dumps other than RAM */
+ off_t fallback_splitsize; /* size for in-RAM PORT-WRITE buffers */
int dumpcycle; /* days between fulls */
long frequency; /* XXX - not used */
char *auth; /* type of authentication (per disk) */
char *clnt_decrypt_opt; /* client-side decryption option parameter to use */
double comprate[2]; /* default compression rates */
/* flag options */
- int record; /* record dump in /etc/dumpdates ? */
+ int record; /* record dump in /var/lib/dumpdates ? */
int skip_incr; /* incs done externally ? */
int skip_full; /* fulls done externally ? */
int to_holdingdisk; /* use holding disk ? */
void disable_skip_disk(disklist_t *origqp);
char *match_disklist(disklist_t *origqp, int sargc, char **sargv);
+ gboolean match_dumpfile(dumpfile_t *file, int sargc, char **sargv);
void free_disklist(disklist_t *dl);
netif_t *disklist_netifs(void);