This is the 2 errors I get when I run amlabel. Does anyone know why?
I've attached my amanda.conf file and changer file. Thanks for any
advice.
cannot determine first slot
amlabel: could not load slot "current": line 31: Product: command not
found
------------------------------------------------------------------------
#! /bin/sh
###############################################################################
# AMANDA Tape Changer script for use with the MTX tape changer program
# Version 1.0 - Tue Feb 20 13:59:39 CST 2001
#
# Based on 'stc-changer' by Eric Berggren (eric AT ee.pdx DOT edu)
# Updated by Tim Skirvin (tskirvin AT ks.uiuc DOT edu)
#
# Given that there's no license...let's make this the Perl Artistic License.
# Just make sure you give me and Eric credit if you modify this.
###############################################################################
### USER CONFIGURATION
# Name of the tape drive (takes place of "tapedev" option in amanda.conf)
# and default driver number in library (usu 0) that DRIVE_NAME points to
DRIVE_NAME="/dev/nst0"
DRIVE_NUM=0
# Location of "STC" command and control device
MTX_CMD="/usr/local/sbin/mtx";
MTX_CONTROL="/dev/sg0";
# Whether tape drive must eject tape before changer retrieves
# (ie, EXB-2x0). Usually okay if set while not necessary, bad if
# required but not set.
DRIVE_MUST_EJECT=1
# How long to check drive readiness (in seconds) after mounting (or
# ejecting) a volume (on some libraries, the motion or eject command may
# complete before the drive has the volume fully mounted and online,
# or ready for retrieval, resulting in "Drive not ready"/"Media not
# ready" errors). Do an "mt status" command every 5 seconds upto this
# time.
DRIVE_READY_TIME_MAX=120
# tape "mt" command location...
MT_CMD="/usr/bin/mt" # called via "MT_CMD -f DRIVE_NAME rewind" &
# "MT_CMD -f DRIVE_NAME offline" to eject
# and "MT_CMD -f DRIVE_NAME status" to get ready info
##############################################################################
#
NumDrives=-2
NumSlots=-23
LastSlot=-23
LoadedTape=-1
#
# Usage information
#
usage()
{
echo
echo "Usage: $Progname <command> [arg...]"
echo " -info reports capability and loaded tape"
echo " -slot <slot> loads specified tape into drive"
echo " current reports current mounted tape"
echo " next loads logically next tape (loops to top)"
echo " prev loads logically previous tape (loops to bot)"
echo " first loads first tape"
echo " last loads last tape"
echo " 0..99 loads tape from specified slot#"
echo " -eject uloads current mounted tape"
echo " -reset resets changer (and drive); loads first tape"
echo
exit 5
}
#
# Perform "stc" changer command (& handle the "fatal" errors)
# else, set 'CommandResStr' and 'CommandRawResStr' to the result string
# and 'CommandResCode' to the exit code
#
dotapecmd()
{
cmd=$1
arg=$2
CommandResStr=`$MTX_CMD $MTX_CONTROL $cmd $arg 2>&1`
CommandRawResStr=$CommandResStr
CommandResCode=$?
CommandResStr=`echo $CommandResStr | head -1 | sed 's/^[^:]*: //'`
if [ $CommandResCode -gt 1 ]; then
echo "0 $Progname: returned $CommandResStr"
exit 2
fi
}
#
# Unload tape from drive (a drive command; "ejecttape" is a changer command
# to actually retrieve the tape). Needed by some changers (controlled by
# setting "DRIVE_MUST_EJECT")
#
ejectdrive()
{
# Tell drive to eject tape before changer retrieves; req'd by some
# drives (ie, EXB-2x0). Not needed by QDLT-4x00. Do a "rewind"
# command first, then "offline" to eject (instead of "rewoffl")
#
if [ "$DRIVE_MUST_EJECT" -ne 0 ]; then
mtresstr=`$MT_CMD -f $DRIVE_NAME rewind 2>&1`
mtrescode=$?
if [ $mtrescode -ne 0 ]; then
if echo "$mtresstr" | egrep -s 'no tape'; then
:; # no tape mounted; assume okay...
else
# can't eject tape, bad; output: <tape#> reason
echo "0 $mtresstr"
exit 1
fi
else
mtresstr=`$MT_CMD -f $DRIVE_NAME offline 2>&1`
mtrescode=$?
checkdrive 1
fi
fi
}
#
# Check drive readiness after (un)mounting a volume (which may take a while
# after the volume change command completes)
#
checkdrive()
{
unmounting=$1
if [ "$DRIVE_READY_TIME_MAX" -gt 0 ]; then
# sleep time between checks
pausetime=5
# number of interations to check
numchecks=`expr $DRIVE_READY_TIME_MAX / $pausetime`
if [ "$numchecks" -eq 0 ]; then
numchecks=1
fi
# check until success, or out of attempts...
while [ "$numchecks" -gt 0 ]; do
mtresstr=`$MT_CMD -f $DRIVE_NAME status 2>&1`
mtrescode=$?
if [ $mtrescode -eq 0 ]; then
# Success ?
return 0
else
# pause, before trying again....
if [ "$numchecks" -gt 1 ]; then
sleep $pausetime
# if unmounting a volume, check for 'mt' command
# failure; (sleep first for additional comfort)
if [ "$unmounting" -ne 0 ]; then
return 0
fi
fi
fi
numchecks=`expr $numchecks - 1`
done
# failed; output: -1 reason
echo "-1 drive won't report ready"
exit 1
fi
}
#
# Get changer parameters
#
getchangerparms()
{
dotapecmd status
if [ $CommandResCode -eq 0 ] && \
echo "$CommandResStr" | egrep -s '^Storage Changer'; then
NumDrives=`echo $dspec | wc -l`
NumDrives=`echo "$CommandRawResStr" | \
grep 'Data Transfer Element' | wc -l`
if [ "$NumDrives" -le "$DRIVE_NUM" ]; then
echo "$Program: Invalid drive # specified ($DRIVE_NUM > $NumDrives)"
exit 3
fi
# grep 'Data Transfer Element $DRIVE_NUM' | \
LoadedTape=`echo "$CommandRawResStr" | \
grep 'Data Transfer Element' | \
grep 'Storage Element [0-9]' | \
awk '{ print $7 }' `
if [ -z "$LoadedTape" -o "$LoadedTape" = "e" ]; then
LoadedTape=-1
fi
NumSlots=`echo "$CommandRawResStr" | \
grep 'Storage Element [0-9]\{1,\}:' | \
grep -v 'Data Element' | \
wc -l | sed -e 's/ //g' `
LastSlot=`expr $NumSlots - 1`
else
echo \
"$Progname: Can't get changer parameters; Result was $CommandResStr"
exit 3
fi
}
#
# Display changer info
#
changerinfo()
{
getchangerparms
# output status string: currenttape numslots randomaccess?
echo "$LoadedTape $NumSlots 1"
exit 0
}
#
# Eject current mounted tape
#
ejecttape()
{
getchangerparms
ct=$LoadedTape
# If no tape reported mounted, assume success (could be bad if changer
# lost track of tape)
#
if [ $ct -lt 0 ]; then
CommandResCode=0
else
ejectdrive
dotapecmd unload
fi
if [ $CommandResCode -ne 0 ]; then
# failed; output: <tape#> reason
echo "$ct $CommandResStr"
exit 1
else
# success; output: <tape#> drive
echo "$ct $DRIVE_NAME"
exit 0
fi
}
#
# Move specified tape into drive (operation level)
#
doloadtape()
{
slot=$1
if [ "$slot" -eq "$LoadedTape" ]; then
return 0
fi
ejectdrive
dotapecmd load $slot
return $CommandResCode
}
#
# Load next available tape into drive
#
loadnexttape()
{
curslot=$1
direction=$2
startslot=$curslot
while true; do
if doloadtape $curslot; then
return 0
else
if echo $CommandResStr | egrep -s 'Slot.*reported empty'; then
if [ "$direction" -lt 0 ]; then
curslot=`expr $curslot - 1`
if [ "$curslot" -lt 0 ]; then
curslot=$LastSlot
fi
else
curslot=`expr $curslot + 1`
if [ "$curslot" -gt "$LastSlot" ]; then
curslot=0
fi
fi
# Check if we're back to where we started...
if [ "$curslot" = "$startslot" ]; then
if [ "$direction" -lt 0 ]; then
CommandResStr="No previous volume available"
else
CommandResStr="No subsequent volume available"
fi
return 1
fi
else
return 1
fi
fi
done
}
#
# Report loadtape() status
#
reportstatus()
{
if [ $CommandResCode -eq 0 ]; then
# success; output currenttape drivename
echo "$LoadedTape $DRIVE_NAME"
exit 0
else
# failed (empty slot?); output currenttape reason
echo "$LoadedTape $CommandResStr"
exit 1
fi
}
#
# Move specified tape into drive (command level)
#
loadtape()
{
slot=$1
getchangerparms
case "$slot" in
current)
if [ $LoadedTape -lt 0 ]; then
CommandResStr="Can't determine current tape; drive empty ?"
CommandResCode=1
fi
;;
prev)
if [ $LoadedTape -le 0 ]; then
loadnexttape $LastSlot -1
else
loadnexttape `expr $LoadedTape - 1` -1
fi
;;
next)
if [ $LoadedTape -ge $LastSlot -o $LoadedTape -lt 0 ]; then
loadnexttape 0 1
else
loadnexttape `expr $LoadedTape + 1` 1
fi
;;
first)
loadnexttape 0 1
;;
last)
loadnexttape $LastSlot -1
;;
[0-9]*)
doloadtape $slot
;;
*)
# error; no valid slot specified
echo "$Progname: No valid slot specified"
exit 1
;;
esac
if [ $CommandResCode -eq 0 ]; then
getchangerparms
checkdrive
fi
reportstatus
}
#
# Reset changer to known state
#
resetchanger()
{
ejectdrive
dotapecmd reset
if [ $CommandResCode -ne 0 ]; then
# failed; output: failed? reason
echo "-1 $CommandResStr"
exit 2;
else
loadtape first
fi
}
#############################################################################
#
# MAIN
#
Progname=`basename $0`
if [ ! -x "$MTX_CMD" ]; then
echo "-1 $Progname: cannot run STC command ($MTX_CMD)"
exit 2
fi
if [ -n "$MTX_CONTROL" ]; then
if echo "$MTX_CONTROL" | egrep -s '^-f'; then
:;
else
MTX_CONTROL="-f $MTX_CONTROL"
fi
fi
if [ -n "$DRIVE_NUM" ]; then
DRIVE_NUM=0
fi
if [ $# -ge 1 ]; then command=$1; else command="-usage"; fi
case "$command" in
-info)
changerinfo
;;
-slot)
loadtape $2
;;
-eject)
ejecttape
;;
-reset)
resetchanger
;;
*)
usage
;;
esac
exit 0
------------------------------------------------------------------------
### !!! WARNING !!! !!! WARNING !!! !!! WARNING !!! !!! WARNING !!! ###
### ###
### This file is not meant to be installed "as is", and in fact, it ###
### WILL NOT WORK! You must go through it and make changes appropriate ###
### to your own situation. See the documentation in this file, in the ###
### "man amanda" man page, in the "docs" directory and at the Amanda ###
### web page (www.amanda.org). ###
### ###
### !!! WARNING !!! !!! WARNING !!! !!! WARNING !!! !!! WARNING !!! ###
#
# amanda.conf - sample Amanda configuration file. This started off life as
# the actual config file in use at CS.UMD.EDU.
#
# If your configuration is called, say, "csd", then this file normally goes
# in /etc/amanda/csd/amanda.conf.
#
org "Transolutions" # your organization name for reports
mailto "jwilson AT transolutions DOT net" # space separated list of
operators at your site
dumpuser "amanda" # the user to run dumps under
inparallel 4 # maximum dumpers that will run in parallel (max 63)
# this maximum can be increased at compile-time,
# modifying MAX_DUMPERS in server-src/driverio.h
dumporder "sssS" # specify the priority order of each dumper
# s -> smallest size
# S -> biggest size
# t -> smallest time
# T -> biggest time
# b -> smallest bandwitdh
# B -> biggest bandwitdh
# try "BTBTBTBTBTBT" if you are not holding
# disk constrained
taperalgo first # The algorithm used to choose which dump image to send
# to the taper.
# Possible values:
[first|firstfit|largest|largestfit|smallest|last]
# Default: first.
# first First in - first out.
# firstfit The first dump image that will fit on
the current tape.
# largest The largest dump image.
# largestfit The largest dump image that will fit on
the current tape.
# smallest The smallest dump image.
# last Last in - first out.
displayunit "k" # Possible values: "k|m|g|t"
# Default: k.
# The unit used to print many numbers.
# k=kilo, m=mega, g=giga, t=tera
netusage 600 Kbps # maximum net bandwidth for Amanda, in KB per sec
dumpcycle 7 days # the number of days in the normal dump cycle
runspercycle 0 # the number of amdump runs in dumpcycle days
# (4 weeks * 5 amdump runs per week -- just weekdays)
tapecycle 8 tapes # the number of tapes in rotation
# 4 weeks (dumpcycle) times 5 tapes per week (just
# the weekdays) plus a few to handle errors that
# need amflush and so we do not overwrite the full
# backups performed at the beginning of the previous
# cycle
bumpsize 20 Mb # minimum savings (threshold) to bump level 1 -> 2
bumppercent 20 # minimum savings (threshold) to bump level 1 -> 2
bumpdays 1 # minimum days at each level
bumpmult 4 # threshold = bumpsize * bumpmult^(level-1)
etimeout 300 # number of seconds per filesystem for estimates.
#etimeout -600 # total number of seconds for estimates.
# a positive number will be multiplied by the number of filesystems on
# each host; a negative number will be taken as an absolute total time-out.
# The default is 5 minutes per filesystem.
dtimeout 1800 # number of idle seconds before a dump is aborted.
ctimeout 30 # maximum number of seconds that amcheck waits
# for each client host
tapebufs 20
# A positive integer telling taper how many 32k buffers to allocate.
# WARNING! If this is set too high, taper will not be able to allocate
# the memory and will die. The default is 20 (640k).
# Specify tape device and/or tape changer. If you don't have a tape
# changer, and you don't want to use more than one tape per run of
# amdump, just comment out the definition of tpchanger.
# Some tape changers require tapedev to be defined; others will use
# their own tape device selection mechanism. Some use a separate tape
# changer device (changerdev), others will simply ignore this
# parameter. Some rely on a configuration file (changerfile) to
# obtain more information about tape devices, number of slots, etc;
# others just need to store some data in files, whose names will start
# with changerfile. For more information about individual tape
# changers, read docs/TAPE.CHANGERS.
# At most one changerfile entry must be defined; select the most
# appropriate one for your configuration. If you select man-changer,
# keep the first one; if you decide not to use a tape changer, you may
# comment them all out.
runtapes 1 # number of tapes to be used in a single run of amdump
tpchanger "chg-zd-mtx" # the tape-changer glue script
tapedev "/dev/nst0" # the no-rewind tape device to be used
#rawtapedev "/dev/null" # the raw device to be used (ftape only)
changerfile "/usr/share/doc/mtx-1.2.18/contrib/mtx-changer"
#changerfile "/usr/adm/amanda/DailySet1/changer-status"
#changerfile "/etc/amanda/DailySet1/changer.conf"
changerdev "/dev/sg0"
maxdumpsize -1 # Maximum number of bytes the planner will schedule
# for a run (default: runtapes * tape_length).
tapetype IBM-LTO2 # what kind of tape it is (see tapetypes below)
labelstr "^DailySet1[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 "/dev/null" # 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 with 'settape changer'
# Specify holding disks. These are used as a temporary staging area for
# dumps before they are written to tape and are recommended for most sites.
# The advantages include: tape drive is more likely to operate in streaming
# mode (which reduces tape and drive wear, reduces total dump time); multiple
# dumps can be done in parallel (which can dramatically reduce total dump time.
# The main disadvantage is that dumps on the holding disk need to be flushed
# (with amflush) to tape after an operating system crash or a tape failure.
# If no holding disks are specified then all dumps will be written directly
# to tape. If a dump is too big to fit on the holding disk than it will be
# written directly to tape. If more than one holding disk is specified then
# they will all be used based on activity and available space.
holdingdisk hd1 {
comment "main holding disk"
directory "/etc/amanda/dumps" # where the holding disk is
use -100 Mb # how much space can we use on it
# a non-positive value means:
# use all space but that value
chunksize 1Gb # size of chunk if you want big dump to be
# dumped on multiple files on holding disks
# N Kb/Mb/Gb split images in chunks of size N
# The maximum value should be
# (MAX_FILE_SIZE - 1Mb)
# 0 same as INT_MAX bytes
}
#holdingdisk hd2 {
# directory "/dumps2/amanda"
# use 1000 Mb
# }
#holdingdisk hd3 {
# directory "/mnt/disk4"
# use 1000 Mb
# }
# If amanda cannot find a tape on which to store backups, it will run
# as many backups as it can to the holding disks. In order to save
# space for unattended backups, by default, amanda will only perform
# incremental backups in this case, i.e., it will reserve 100% of the
# holding disk space for the so-called degraded mode backups.
# However, if you specify a different value for the `reserve'
# parameter, amanda will not degrade backups if they will fit in the
# non-reserved portion of the holding disk.
# reserve 30 # percent
# This means save at least 30% of the holding disk space for degraded
# mode backups.
autoflush no #
# if autoflush is set to yes, then amdump will schedule all dump on
# holding disks to be flush to tape during the run.
# The format for a ColumnSpec is a ',' seperated list of triples.
# Each triple consists of
# + the name of the column (as in ColumnNameStrings)
# + prefix before the column
# + the width of the column, if set to -1 it will be recalculated
# to the maximum length of a line to print.
# Example:
# "Disk=1:17,HostName=1:10,OutKB=1:7"
# or
# "Disk=1:-1,HostName=1:10,OutKB=1:7"
#
# You need only specify those colums that should be changed from
# the default. If nothing is specified in the configfile, the
# above compiled in values will be in effect, resulting in an
# output as it was all the time.
# The names of the colums are:
# HostName, Disk, Level, OrigKB, OutKB, Compress, DumpTime, DumpRate,
# TapeTime and TapeRate.
# ElB, 1999-02-24.
# columnspec "Disk=1:18,HostName=0:10,OutKB=1:7"
# Amanda needs a few Mb of diskspace for the log and debug files,
# as well as a database. This stuff can grow large, so the conf directory
# isn't usually appropriate. Some sites use /usr/local/var and some /usr/adm.
# Create an amanda directory under there. You need a separate infofile and
# logdir for each configuration, so create subdirectories for each conf and
# put the files there. Specify the locations below.
# Note that, although the keyword below is infofile, it is only so for
# historic reasons, since now it is supposed to be a directory (unless
# you have selected some database format other than the `text' default)
infofile "/etc/amanda/DailySet1/curinfo" # database DIRECTORY
logdir "/etc/amanda/DailySet1/logs" # log directory
indexdir "/etc/amanda/DailySet1/index" # index directory
#tapelist "/usr/adm/amanda/DailySet1/tapelist" # list of used tapes
# tapelist is stored, by default, in the directory that contains amanda.conf
# tapetypes
# Define the type of tape you use here, and use it in "tapetype"
# above. Some typical types of tapes are included here. The tapetype
# tells amanda how many MB will fit on the tape, how big the filemarks
# are, and how fast the tape device is.
# A filemark is the amount of wasted space every time a tape section
# ends. If you run `make tapetype' in tape-src, you'll get a program
# that generates tapetype entries, but it is slow as hell, use it only
# if you really must and, if you do, make sure you post the data to
# the amanda mailing list, so that others can use what you found out
# by searching the archives.
# For completeness Amanda should calculate the inter-record gaps too,
# but it doesn't. For EXABYTE and DAT tapes this is ok. Anyone using
# 9 tracks for amanda and need IRG calculations? Drop me a note if
# so.
# If you want amanda to print postscript paper tape labels
# add a line after the comment in the tapetype of the form
# lbl-templ "/path/to/postscript/template/label.ps"
# if you want the label to go to a printer other than the default
# for your system, you can also add a line above for a different
# printer. (i usually add that line after the dumpuser specification)
# dumpuser "operator" # the user to run dumps under
# printer "mypostscript" # printer to print paper label on
# here is an example of my definition for an EXB-8500
# define tapetype EXB-8500 {
# ...
# lbl-templ "/usr/local/amanda/config/lbl.exabyte.ps"
# }
define tapetype QIC-60 {
comment "Archive Viper"
length 60 mbytes
filemark 100 kbytes # don't know a better value
speed 100 kbytes # dito
}
define tapetype DEC-DLT2000 {
comment "DEC Differential Digital Linear Tape 2000"
length 15000 mbytes
filemark 8 kbytes
speed 1250 kbytes
}
# goluboff AT butch.Colorado DOT EDU
# in amanda-users (Thu Dec 26 01:55:38 MEZ 1996)
define tapetype DLT {
comment "DLT tape drives"
length 20000 mbytes # 20 Gig tapes
filemark 2000 kbytes # I don't know what this means
speed 1536 kbytes # 1.5 Mb/s
}
define tapetype SURESTORE-1200E {
comment "HP AutoLoader"
length 3900 mbytes
filemark 100 kbytes
speed 500 kbytes
}
define tapetype EXB-8500 {
comment "Exabyte EXB-8500 drive on decent machine"
length 4200 mbytes
filemark 48 kbytes
speed 474 kbytes
}
define tapetype EXB-8200 {
comment "Exabyte EXB-8200 drive on decent machine"
length 2200 mbytes
filemark 2130 kbytes
speed 240 kbytes
}
define tapetype HP-DAT {
comment "DAT tape drives"
# data provided by Rob Browning <rlb AT cs.utexas DOT edu>
length 1930 mbytes
filemark 111 kbytes
speed 468 kbytes
}
define tapetype DAT {
comment "DAT tape drives"
length 1000 mbytes # these numbers are not accurate
filemark 100 kbytes # but you get the idea
speed 100 kbytes
}
define tapetype MIMSY-MEGATAPE {
comment "Megatape (Exabyte based) drive through Emulex on Vax 8600"
length 2200 mbytes
filemark 2130 kbytes
speed 170 kbytes # limited by the Emulex bus interface, ugh
}
define tapetype IBM-LTO2 {
comment "Dell Powervault"
length 201216 mbytes
filemark 0 kbytes
speed 1983 kps
}
# dumptypes
#
# These are referred to by the disklist file. The dumptype specifies
# certain parameters for dumping including:
# auth - authentication scheme to use between server and client.
# Valid values are "bsd" and "krb4". Default: [auth bsd]
# comment - just a comment string
# comprate - set default compression rate. Should be followed by one or
# two numbers, optionally separated by a comma. The 1st is
# the full compression rate; the 2nd is the incremental rate.
# If the second is omitted, it is assumed equal to the first.
# The numbers represent the amount of the original file the
# compressed file is expected to take up.
# Default: [comprate 0.50, 0.50]
# compress - specify compression of the backed up data. Valid values are:
# "none" - don't compress the dump output.
# "client best" - compress on the client using the best (and
# probably slowest) algorithm.
# "client fast" - compress on the client using fast algorithm.
# "server best" - compress on the tape host using the best (and
# probably slowest) algorithm.
# "server fast" - compress on the tape host using a fast
# algorithm. This may be useful when a fast
# tape host is backing up slow clients.
# Default: [compress client fast]
# dumpcycle - set the number of days in the dump cycle, ie, set how often a
# full dump should be performed. Default: from DUMPCYCLE above
# estimate Determine the way AMANDA does it's estimate.
# "client" - Use the same program as the dumping program,
# this is the most accurate way to do estimates,
# but it can take a long time.
# "calcsize" - Use a faster program to do estimates, but the
# result is less accurate.
# "server" - Use only statistics from the previous run to
# give an estimate,
# it takes only a few seconds but the result is not
# accurate if your disk usage changes from day to day.
# Default: [client]
# exclude - specify files and directories to be excluded from the dump.
# Useful with gnutar only; silently ignored by dump and samba.
# Valid values are:
# "pattern" - a shell glob pattern defining which files
# to exclude.
# gnutar gets --exclude="pattern"
# list "filename" - a file (on the client!) containing patterns
# re's (1 per line) defining which files to
# exclude.
# gnutar gets --exclude-from="filename"
# Note that the `full pathname' of a file within its
# filesystem starts with `./', because of the way amanda runs
# gnutar: `tar -C $mountpoint -cf - --lots-of-options .' (note
# the final dot!) Thus, if you're backing up `/usr' with a
# diskfile entry like ``host /usr gnutar-root', but you don't
# want to backup /usr/tmp, your exclude list should contain
# the pattern `./tmp', as this is relative to the `/usr' above.
# Please refer to the man-page of gnutar for more information.
# If a relative pathname is specified as the exclude list,
# it is searched from within the directory that is
# going to be backed up.
# Default: include all files
# holdingdisk - should the holding disk be used for this dump. Useful for
# dumping the holding disk itself. Default: [holdingdisk yes]
# ignore - do not back this filesystem up. Useful for sharing a single
# disklist in several configurations.
# index - keep an index of the files backed up. Default: [index no]
# kencrypt - encrypt the data stream between the client and server.
# Default: [kencrypt no]
# maxdumps - max number of concurrent dumps to run on the client.
# Default: [maxdumps 1]
# maxpromoteday - max number of day for a promotion, set it 0 if you don't
# want promotion, set it to 1 or 2 if your disk get
# overpromoted.
# Default: [10000]
# priority - priority level of the dump. Valid levels are "low", "medium"
# or "high". These are really only used when Amanda has no
# tape to write to because of some error. In that "degraded
# mode", as many incrementals as will fit on the holding disk
# are done, higher priority first, to insure the important
# disks are at least dumped. Default: [priority medium]
# program - specify the dump system to use. Valid values are "DUMP" 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
# /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
# outside Amanda, eg when the machine is in single-user mode.
# skip-incr - skip the disk when the level 0 is NOT due. This is used in
# archive configurations, where only full dumps are done and
# the tapes saved.
# starttime - delay the start of the dump? Default: no delay
# strategy - set the dump strategy. Valid strategies are currently:
# "standard" - the standard one.
# "nofull" - do level 1 dumps every time. This can be used,
# for example, for small root filesystems that
# only change slightly relative to a site-wide
# prototype. Amanda then backs up just the
# changes.
# "noinc" - do level 0 dumps every time.
# Unfortunately, this is not currently
# implemented. Use `dumpcycle 0'
# instead.
# "skip" - skip all dumps. Useful for sharing a single
# disklist in several configurations.
# "incronly" - do only incremental dumps. This is similar
# to strategy 'nofull', but will increase
# the dump level as usual. Full dumps will
# only be performed when an 'amadmin force'
# has been issued
# Default: [strategy standard]
#
# Note that you may specify previously defined dumptypes as a shorthand way
# of defining parameters.
define dumptype global {
comment "Global definitions"
# This is quite useful for setting global parameters, so you don't have
# to type them everywhere. All dumptype definitions in this sample file
# do include these definitions, either directly or indirectly.
# There's nothing special about the name `global'; if you create any
# dumptype that does not contain the word `global' or the name of any
# other dumptype that contains it, these definitions won't apply.
# Note that these definitions may be overridden in other
# dumptypes, if the redefinitions appear *after* the `global'
# dumptype name.
# You may want to use this for globally enabling or disabling
# indexing, recording, etc. Some examples:
# index yes
# record no
}
define dumptype always-full {
global
comment "Full dump of this filesystem always"
compress none
priority high
dumpcycle 0
}
define dumptype root-tar {
global
program "GNUTAR"
comment "root partitions dumped with tar"
compress none
index
exclude list "/usr/local/lib/amanda/exclude.gtar"
priority low
}
define dumptype user-tar {
root-tar
comment "user partitions dumped with tar"
priority medium
}
define dumptype high-tar {
root-tar
comment "partitions dumped with tar"
priority high
}
define dumptype comp-root-tar {
root-tar
comment "Root partitions with compression"
compress client fast
}
define dumptype comp-user-tar {
user-tar
compress client fast
}
define dumptype holding-disk {
global
comment "The master-host holding disk itself"
holdingdisk no # do not use the holding disk
priority medium
}
define dumptype comp-user {
global
comment "Non-root partitions on reasonably fast machines"
compress client fast
priority medium
}
define dumptype nocomp-user {
comp-user
comment "Non-root partitions on slow machines"
compress none
}
define dumptype comp-root {
global
comment "Root partitions with compression"
compress client fast
priority low
}
define dumptype nocomp-root {
comp-root
comment "Root partitions without compression"
compress none
}
define dumptype comp-high {
global
comment "very important partitions on fast machines"
compress client best
priority high
}
define dumptype nocomp-high {
comp-high
comment "very important partitions on slow machines"
compress none
}
define dumptype nocomp-test {
global
comment "test dump without compression, no /etc/dumpdates recording"
compress none
record no
priority medium
}
define dumptype comp-test {
nocomp-test
comment "test dump with compression, no /etc/dumpdates recording"
compress client fast
}
# network interfaces
#
# These are referred to by the disklist file. They define the attributes
# of the network interface that the remote machine is accessed through.
# Notes: - netusage above defines the attributes that are used when the
# disklist entry doesn't specify otherwise.
# - the values below are only samples.
# - specifying an interface does not force the traffic to pass
# through that interface. Your OS routing tables do that. This
# is just a mechanism to stop Amanda trashing your network.
# Attributes are:
# use - bandwidth above which amanda won't start
# backups using this interface. Note that if
# a single backup will take more than that,
# amanda won't try to make it run slower!
define interface local {
comment "a local disk"
use 1000 kbps
}
define interface le0 {
comment "10 Mbps ethernet"
use 400 kbps
}
# You may include other amanda configuration files, so you can share
# dumptypes, tapetypes and interface definitions among several
# configurations.
#includefile "/usr/local/amanda.conf.main"