Adolfo Pachón wrote: > Hi, > > How can I use, for exmple, the "/mnt/backups" path for storing backups, > instead of a tape? > > Thanks. In simple terms: specify /mnt/backups as your holding disk. Make sure you have set your reserve option in configuration, otherwise amanda will not make level 0 backups to holding disk. And specify a tapetype that suits your needs. Amanda will take the tapetype to balance and plan your backups, but the free space on "/mnt/backups" as a typetype wont do any good to amanda. Take one that is higher than your biggest level 0 dump. Amrecover has no problems restoring from your holding disk, but you have to make sure there is enough room for the backups. (but perhaps i missunderstood you and you want to mount something other than a harddisk under /mnt/backups) I had this problem, cause there was intended to keep lev0 on tape and lev1 on hard disk. There is this two-configuration setting wich are using the same dirs in the FAQ, but i didn't want to flush the incrementals, so i wrote a shell script to delete the backup files along with their indexes and logs. (i hope there is no "flush-to-dev-null-on-demand-option" or "clean-up-holding-disk" somewere that i have missed ... ) The script is based on determining the size of backups in the holding disk and if necessary deleting some of them. I modified it a little bit to post it on the list and added a testing option which causes it to _not_ delete anything by default. It is currently only tested and used on a SuSE 7.0 Linux System. The Script could also come handy as a fall-back to ensure the space left in the holding disk if there's no tape online. (imagine a little test if there is a tape available and if not, make some room in the holding disk, so the backups could be done) Now I do sometimes flush the backups, as the level 0 backups sometimes don't fit on one tape and I _have_ to flush manually ;-) Simon Mayr PS Great new "incronly" option! Very good for a two-configuration setting.
#!/bin/sh # # author: simon mayr # email : [EMAIL PROTECTED] # # purpose: make room in the holding disk without flushing the backups to tape # # usage: define all the parameters in the script # place it in front of amanda in your cronjob, so that in # worst case it can not delete the backup you've just made # !!! test before real use # # needed: some sanity checking, so you should really test before use! # perhaps some usefull return values # command line parameters # # Use at your own risk. # I am NOT responsible for anything YOU do with this script # feel free to modify and copy , bla bla ... # # # how it works: # # find out how much space we occupy in the holding disk # is it too much? # no # -> end script # yes # -> find the oldest amanda dir in holding disks # delete it # delete corresponding indexfiles&logfiles # start over again ( with a maximum of trys to avoid infinity loops) # CONFIGURATION (parameters): # on or off # turn off when you are sure nothing bad will happen TESTING=on # your configuration (directoryname) for the not-going-to-tape-backups CONFDIR=DailySet1 # the holding disk(s) (seperate with "\ ") # eg HOLDING=/disk1/\ /path/to/disk2/\ /disk3/ HOLDING=/holding_disk/ # this is the main option in this script, # it controls if anything at all will be done # adjust to this value: # allowed_usage_of_the_holding_disk(s) - desired_min_free_space_for_one_backup # eg 40gig holdingdisk, 12gig backup, 4gig for safety # means 40-(12+4)=24gigs=24000 in mbytes MAXMB=24000 # maximum number of deleted dates # if anything is in your holding disk, that can not be deleted # the script will try again and again # OR if your MAXMB is too low you would possibly loose all your backups MAXWHILE=8 # END OF CONFIGURATION # use du to get the size of our images # this will NOT work, if your du produces other output than # number [directory] # with this options COUNT=0 for VAR in `du $HOLDING -ms | cut -f 1` do COUNT=$(($VAR+$COUNT)) done # this is for testing, because # the while loop only produces output if there is anything to do # so you get only mail from your cronjob, when something was deleted if ! test "off" = "$TESTING" then echo $COUNT MB used, $MAXMB allowed fi # the main loop while test $MAXWHILE -gt 0 && test $COUNT -gt $MAXMB do echo $COUNT MB used, $MAXMB allowed # DELDATE contain the oldest date from your backups in the # holding disks # (a bit clumsy, but it works for me ) DELDATE=99999999 for DIRNAME in $HOLDING do cd $DIRNAME for VAR in `ls -d [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] 2> /dev/null` do test $VAR -lt $DELDATE && DELDATE=$VAR done done if test $DELDATE = 99999999 then echo and there is nothing I could delete to lower the disk usage echo Terminating now! exit 0 fi # tell what to do echo removing $DELDATE # remove DELDATE in all the holding disks if test "off" = "$TESTING" then find $HOLDING -type d -name $DELDATE |\ xargs -n 1 --no-run-if-empty -- rm -r -f --verbose else find $HOLDING -type d -name $DELDATE |\ xargs -n 1 --no-run-if-empty -- echo rm -r -f fi # remove corresponding files in configdir # this will leave the amdump.## files, but i think amanda herself # will take care of them if test "off" = "$TESTING" then find /var/lib/amanda/$CONFDIR/ -type f -name "*$DELDATE*" |\ xargs -n 1 --no-run-if-empty -- rm -f --verbose else find /var/lib/amanda/$CONFDIR/ -type f -name "*$DELDATE*" |\ xargs -n 1 --no-run-if-empty -- echo rm -f fi # if you remove one of your disklistentrys this one could come handy # cause there will be empty dirs if the backups are removed # find /var/lib/amanda/$CONFDIR/ -empty -type d |\ # xargs -n 1 --no-run-if-empty -- rmdir --verbose # recalculate disk usage COUNT=0 for VAR in `du $HOLDING -ms | cut -f 1` do COUNT=$(($VAR+$COUNT)) done # we do not want an infinity loops and we also do not want to # kill more than MAXWHILE backups in a row MAXWHILE=$(($MAXWHILE-1)) done exit 0