So, Bacula won't change from the first drive to the second, when the first volume gets full??
This is correct bacula does not support that feature yet. John > *Ok guys, me and my team just developed this solution, for anyone who has more than one drive in the server. It checks if the tape is full, every quarter of hour, and switch from one drive to the next* (in that case, using 03 DLT drives in the same CPU): > /etc/crontab 00,15,30,45 * * * * root /etc/bacula/scripts/atualiza_drive.sh > /etc/bacula/scripts/atualiza_drive.sh (it checks if the tape is full, and run a second script - which will change drives) #!/bin/bash exec 6>&1 exec > /etc/bacula/status_script.log /etc/bacula/bconsole -c /etc/bacula/bconsole.conf <<END status storage="Multitape" END exec 1>&6 6>&- grep -q "Device is BLOCKED waiting for media" /etc/bacula/status_script.log if [ $? -eq "0" ] then /etc/bacula/scripts/drive_changer.sh fi > /etc/bacula/scripts/drive_changer.sh (it changes the drives) #!/bin/bash grep -q "Slot 1" /etc/bacula/status_script.log if [ $? -eq "0" ] then /etc/bacula/scripts/drive12.sh fi grep -q "Slot 2" /etc/bacula/status_script.log if [ $? -eq "0" ] then /etc/bacula/scripts/drive23.sh fi grep -q "Slot 3" /etc/bacula/status_script.log if [ $? -eq "0" ] then /etc/bacula/scripts/drive31.sh fi > /etc/bacula/scripts/drive12.sh (example of drive* - autochanger commands) /etc/bacula/scripts/multitape-changer /dev/sg0 unload 1 /dev/tape 0 /etc/bacula/scripts/multitape-changer /dev/sg0 load 2 /dev/tape 0 /etc/bacula/scripts/montar_volume.sh > /etc/bacula/scripts/multitape_changer.sh #!/bin/bash # # Bacula interface to use multiple drives as one tape-changer # Mario Wolff - 28.01.05 # # Arguments are copied from the mtx-script! Simply exchange # the scriptname from demo-config # # If you set in your Device resource # # Changer Command = "path-to-this-script/multitape-changer" %c %o %S %a %d # you will have the following input to this script: # # multitape-changer "changer-device" "command" "slot" "archive-device" "drive-index" # $1 $2 $3 $4 $5 # # for example: # # multitape-changer /dev/sg0 load 1 /dev/nst0 0 (on a Linux system) # # Setup arguments cmd="$2" slot=$3 DEVICE=${4:-/dev/tape} LABELDIR=/etc/bacula/tapelabel # where to find labelfiles NULLDEVICE=/dev/null # if unmount link to this SLOT01=/dev/nst0 # first slot SLOT02=/dev/nst1 # second slot SLOT03=/dev/nst2 # third slot # simply append more #get device for a given slotnumber getdevice(){ myslot=${1:-1} if [ ${#myslot} -gt 2 ];then exit 1;fi if [ ${#myslot} -eq 2 ];then eval echo \$SLOT$myslot return else eval echo \$SLOT0$myslot return fi } #get name of labelfile for a given slot getname(){ myslot=${1:-1} if [ ${#myslot} -gt 2 ];then exit 2;fi if [ ${#myslot} -eq 2 ];then echo SLOT$myslot return else echo SLOT0$myslot return fi } #how many tapes/slots to manage getslots(){ count=1 while [ "$( getdevice $count )" ];do count=$[ $count + 1 ] done echo $[ $count - 1 ] return } #get slot for a given device-file getslot(){ device=${1:-$NULLDEVICE} if [ "$device" = "$NULLDEVICE" ];then echo -en "0\n" return else count=1 slotdev=$( getdevice $count ) while [ "$slotdev" ]; do if [ "$slotdev" = "$device" ];then echo -en "$count\n" return fi count=$[ $count + 1 ] slotdev=$( getdevice $count ) done exit 3 fi } if test $# -lt 2 ; then echo "usage: multitape-changer ctl-device command slot archive-device drive" echo " Insufficient number of arguments arguments given." echo " Mimimum usage is first two arguments ..." exit 4 fi # # Check for special cases where only 2 arguments are needed, # all others are a minimum of 3 case $cmd in loaded) ;; unload) ;; list) ;; slots) ;; *) if test $# -lt 3; then echo "usage: multitape-changer ctl-device command slot archive-device drive" echo " Insufficient number of arguments arguments given." echo " Mimimum usage is first three arguments ..." exit 5 fi ;; esac case $cmd in unload) if [ -e $DEVICE ];then rm $DEVICE && ln -s $NULLDEVICE $DEVICE || exit 6 else ln -s $NULLDEVICE $DEVICE || exit 7 fi ;; load) CURDEV=$( getdevice $slot ) if [ -e $DEVICE ];then rm $DEVICE && ln -s $CURDEV $DEVICE || exit 8 else ln -s $CURDEV $DEVICE || exit 9 fi ;; list) slots=$( getslots ) for slot in $( seq 1 $slots );do labelfile=$LABELDIR/$( getname $slot ) if [ -f "$labelfile" ];then echo "$slot:$( head -n 1 $labelfile)" else echo "$slot:" fi done exit 0 ;; loaded) if [ -e $DEVICE ];then line=$( ls -la $DEVICE ) fi line=${line:-$NULLDEVICE} getslot ${line##* } sleep 1 exit 0 ;; slots) getslots exit 0 ;; esac John Drescher wrote: > On 12/6/06, *Heitor Medrado de Faria* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > > So, Bacula won't change from the first drive to the second, when the > first volume gets full?? > > > This is correct bacula does not support that feature yet. > John "Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é enviada exclusivamente a seu destinatário e pode conter informações confidenciais, protegidas por sigilo profissional. Sua utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, esclarecendo o equívoco." "This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a government company established under Brazilian law (5.615/70) -- is directed exclusively to its addressee and may contain confidential data, protected under professional secrecy rules. Its unauthorized use is illegal and may subject the transgressor to the law's penalties. If you're not the addressee, please send it back, elucidating the failure." ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users