openbsd-ports/sysutils/bacula/patches/patch-scripts_mtx-changer_in
merdely c74b337ec9 Update bacula to 3.0.2:
* Shared objects
	* Virtual backups
	* Duplicate Job Control
	* TLS Authentication
	* Exclude Dir Containing = <filename-string>
	* Plugins including Exchange 2003/2007 Plugin
	* libdbi backend abstraction
	* Bat enhancements

Upgrading from 2.4.4 to 3.0.2 requires updating the database using
/usr/local/libexec/bacula/update_bacula_database.  Database upgrades
from older databases can be done with other scripts in
/usr/local/libexec/bacula/updatedb.  You can determine your database
version in mysql and postgresql with 'select * from version'.

As sthen@ reminded me and the documentation points out, when upgrading
between major versions (2.x.x -> 3.x.x), you should upgrade all of your
components at the same time due to protocol changes.

a *lot* of help from and ok sthen@
2009-10-02 02:34:05 +00:00

97 lines
3.6 KiB
Plaintext

$OpenBSD: patch-scripts_mtx-changer_in,v 1.4 2009/10/02 02:34:05 merdely Exp $
XXX first hunk hand-rolled for CVS keyword, Id
--- scripts/mtx-changer.in.orig Fri Jul 18 09:44:03 2008
+++ scripts/mtx-changer.in Mon Sep 21 20:58:36 2009
@@ -1,4 +1,4 @@
#!/bin/sh
#
-# Bacula interface to mtx autoloader
+# Bacula interface to chio autoloader
#
@@ -39,10 +39,10 @@
# e.g. mt -f $4 offline
#
# Many changers need an offline after the unload. Also many
-# changers need a sleep 60 after the mtx load.
+# changers need a sleep 60 after the chio load.
#
# N.B. If you change the script, take care to return either
-# the mtx exit code or a 0. If the script exits with a non-zero
+# the chio exit code or a 0. If the script exits with a non-zero
# exit code, Bacula will assume the request failed.
#
@@ -143,7 +143,7 @@ debug "Parms: $ctl $cmd $slot $device $drive"
case $cmd in
unload)
- debug "Doing mtx -f $ctl unload $slot $drive"
+ debug "Doing chio -f $ctl move drive $drive slot $slot"
if test ${offline} -eq 1 ; then
mt -f $device offline
@@ -151,12 +151,12 @@ case $cmd in
if test ${offline_sleep} -ne 0 ; then
sleep ${offline_sleep}
fi
- ${MTX} -f $ctl unload $slot $drive
+ ${MTX} -f $ctl move drive $drive slot $slot
;;
load)
- debug "Doing mtx -f $ctl load $slot $drive"
- ${MTX} -f $ctl load $slot $drive
+ debug "Doing chio -f $ctl move slot $slot drive $drive"
+ ${MTX} -f $ctl move slot $slot drive $drive
rtn=$?
if test ${load_sleep} -ne 0 ; then
sleep ${load_sleep}
@@ -166,36 +166,33 @@ case $cmd in
;;
list)
- debug "Doing mtx -f $ctl -- to list volumes"
+ debug "Doing chio -f $ctl status -- to list volumes"
make_temp_file
if test ${inventory} -ne 0 ; then
${MTX} -f $ctl inventory
fi
${MTX} -f $ctl status >${TMPFILE}
rtn=$?
- if test ${vxa_packetloader} -ne 0 ; then
- cat ${TMPFILE} | grep " *Storage Element [0-9]*:.*Full" | sed "s/ Storage Element //" | sed "s/Full :VolumeTag=//"
- else
- cat ${TMPFILE} | grep " Storage Element [0-9]*:.*Full" | awk "{print \$3 \$4}" | sed "s/Full *\(:VolumeTag=\)*//"
- fi
- cat ${TMPFILE} | grep "^Data Transfer Element [0-9]*:Full (Storage Element [0-9]" | awk '{printf "%s:%s\n",$7,$10}'
+ cat ${TMPFILE} | grep " *Storage Element [0-9]*:.*Full" | sed "s/ Storage Element //" | sed "s/Full :VolumeTag=//"
+ cat ${TMPFILE} | grep " *drive [0-9]*: <.*FULL.*>" | awk "{print \$2 \$4 \$5 \$6 \$7 \$8}" | sed "s/^/D/"
rm -f ${TMPFILE} >/dev/null 2>&1
exit $rtn
;;
loaded)
- debug "Doing mtx -f $ctl $drive -- to find what is loaded"
+ debug "Doing chio -f $ctl status -- to find what is loaded"
make_temp_file
${MTX} -f $ctl status >${TMPFILE}
rtn=$?
- cat ${TMPFILE} | grep "^Data Transfer Element $drive:Full" | awk "{print \$7}"
- cat ${TMPFILE} | grep "^Data Transfer Element $drive:Empty" | awk "{print 0}"
+ cat ${TMPFILE} | grep " *drive $drive: <.*FULL.*>" | awk "{print \$4}" | sed "s/^\[//" | sed "s/=\]$//"
+ cat ${TMPFILE} | grep " *drive $drive: <.*FULL.*>" > /dev/null 2>&1
+ if [ $? != 0 ]; then echo 0; fi
rm -f ${TMPFILE} >/dev/null 2>&1
exit $rtn
;;
slots)
- debug "Doing mtx -f $ctl -- to get count of slots"
- ${MTX} -f $ctl status | grep " *Storage Changer" | awk "{print \$5}"
+ debug "Doing chio -f $ctl status -- to get count of slots"
+ ${MTX} -f $ctl status | grep -c "slot [0-9]*"
;;
esac