Amanda-Users

Re: Amanda

2006-05-19 12:16:36
Subject: Re: Amanda
From: Pavel Pragin <ppragin AT zmanda DOT com>
To: jwilson AT transolutions DOT net
Date: Fri, 19 May 2006 09:08:00 -0700
James,

Your changerfile paremeter should be set to "/etc/amanda/DailySet1/changer.conf" if DailySet1 is the config you are using.
1. The only line you should have in that file is:
havereader=1
2.Once you change this file go ahead and run "amtape DailySet1 update"
3. Also please run "mtx -f /dev/sg0 status" and post the output
Pavel


James Wilson wrote:

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"


<Prev in Thread] Current Thread [Next in Thread>