X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fscripts%2Fmtx-changer.in;h=ca5c5481ff1c71504e869c2e49e58a1587459a07;hb=9088cfd03ff08b98e6850ec75e9e0d12c4efca48;hp=5c7a5009ff385dc06d3fdb8735c3ae1428a4b0c5;hpb=0ac68a399325d84a6602915228a87adb2166403c;p=bacula%2Fbacula diff --git a/bacula/scripts/mtx-changer.in b/bacula/scripts/mtx-changer.in index 5c7a5009ff..ca5c5481ff 100644 --- a/bacula/scripts/mtx-changer.in +++ b/bacula/scripts/mtx-changer.in @@ -2,8 +2,6 @@ # # Bacula interface to mtx autoloader # -# $Id$ -# # If you set in your Device resource # # Changer Command = "path-to-this-script/mtx-changer %c %o %S %a %d" @@ -30,7 +28,7 @@ # loaded which slot is loaded? # list list Volume names (requires barcode reader) # slots how many slots total? -# listall list all info +# listall list all info # transfer # # Slots are numbered from 1 ... @@ -49,6 +47,12 @@ # # source our conf file +if test ! -f @scriptdir@/mtx-changer.conf ; then + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "ERROR: @scriptdir@/mtx-changer.conf file not found!!!!" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + exit 1 +fi . @scriptdir@/mtx-changer.conf MTX=@MTX@ @@ -72,7 +76,7 @@ make_temp_file() { if test x${TMPFILE} = x; then TMPFILE="@working_dir@/mtx.$$" if test -f ${TMPFILE}; then - echo "Temp file security problem on: ${TMPFILE}" + echo "ERROR: Temp file security problem on: ${TMPFILE}" exit 1 fi fi @@ -107,7 +111,7 @@ check_parm_count() { pCount=$1 pCountNeed=$2 if test $pCount -lt $pCountNeed; then - echo "usage: mtx-changer ctl-device command [slot archive-device drive-index]" + echo "ERROR: usage: mtx-changer ctl-device command [slot archive-device drive-index]" echo " Insufficient number of arguments given." if test $pCount -lt 2; then echo " Mimimum usage is first two arguments ..." @@ -129,8 +133,8 @@ case $2 in check_parm_count $# 2 ;; transfer) - check_parm_count $# 4 - ;; + check_parm_count $# 4 + ;; *) check_parm_count $# 5 ;; @@ -189,19 +193,19 @@ case $cmd in ;; listall) -# Drive content: D:Drive num:F:Slot loaded:Volume Name +# Drive content: D:Drive num:F:Slot loaded:Volume Name # D:0:F:2:vol2 or D:Drive num:E # D:1:F:42:vol42 # D:3:E # # Slot content: -# S:1:F:vol1 S:Slot num:F:Volume Name -# S:2:E or S:Slot num:E +# S:1:F:vol1 S:Slot num:F:Volume Name +# S:2:E or S:Slot num:E # S:3:F:vol4 # # Import/Export tray slots: -# I:10:F:vol10 I:Slot num:F:Volume Name -# I:11:E or I:Slot num:E +# I:10:F:vol10 I:Slot num:F:Volume Name +# I:11:E or I:Slot num:E # I:12:F:vol40 debug "Doing mtx -f $ctl -- to list all" @@ -211,7 +215,7 @@ case $cmd in fi ${MTX} -f $ctl status >${TMPFILE} rtn=$? - # can be converted to awk+sed+cut, contributions are welcome + # can be converted to awk+sed+cut, see below perl -ne ' /Data Transfer Element (\d+):Empty/ && print "D:$1:E\n"; /Data Transfer Element (\d+):Full \(Storage Element (\d+) Loaded\)(:VolumeTag =\s*(.+))?/ && print "D:$1:F:$2:$4\n"; @@ -219,6 +223,11 @@ case $cmd in /Storage Element (\d+):Full( :VolumeTag=(.+))?/ && print "S:$1:F:$3\n"; /Storage Element (\d+) IMPORT.EXPORT:Empty/ && print "I:$1:E\n"; /Storage Element (\d+) IMPORT.EXPORT:Full( :VolumeTag=(.+))?/ && print "I:$1:F:$3\n";' ${TMPFILE} + # If perl isn't installed, you can use by those commands +#cat ${TMPFILE} | grep "Data Transfer Element" | awk "{print \"D:\"\$4 \$7 \$9 \$10}" | sed "s/=/:/" | sed "s/Full/F:/" | sed "s/Empty/E/" +#cat ${TMPFILE} | grep -v "Data Transfer Element" | grep "Storage Element" | grep -v "IMPORT/EXPORT" | awk "{print \"S:\"\$3 \$4 \$5}" | sed "s/IMPORT\/EXPORT//" | sed "s/Full *:VolumeTag=/F:/" | sed "s/Empty/E/" +#cat ${TMPFILE} | grep -v "Data Transfer Element" | grep "Storage Element" | grep "IMPORT/EXPORT" | awk "{print \"I:\"\$3 \$4 \$5}" | sed "s/IMPORT\/EXPORT//" | sed "s/Full *:VolumeTag=/F:/" | sed "s/Empty/E/" + rm -f ${TMPFILE} >/dev/null 2>&1 exit $rtn ;;