#!/bin/bash # # Shell script to update MySQL tables from version 1.34 to 1.35.5 # echo " " echo "This script will update a Bacula MySQL database from version 7 to 8" echo "Depending on the size of your database," echo "this script may take several minutes to run." echo " " bindir=/usr/bin DB_VER=`$bindir/mysql $* bacula -e 'select * from Version;'|tail -n 1 2>/dev/null` if [ -z "$DB_VER" ]; then echo "Sorry, I can't seem to locate a bacula database." exit 1 fi if [ -n "$DB_VER" ]; then if [ "$DB_VER" = "8" ]; then echo "The Catalog is already at version 8. Nothing to do!" exit 0 elif [ "$DB_VER" -ne "7" ]; then echo "Sorry, this script is designed to update a version 7 database" echo "and you have a version $DB_VER database." exit 1 fi fi if $bindir/mysql $* -f << END_OF_DATA USE bacula; ALTER TABLE Media ADD COLUMN EndFile INTEGER UNSIGNED NOT NULL DEFAULT 0; ALTER TABLE Media ADD COLUMN EndBlock INTEGER UNSIGNED NOT NULL DEFAULT 0; ALTER TABLE File ADD INDEX (JobId, PathId, FilenameId); UPDATE Filename SET Name='' WHERE Name=' '; DELETE FROM Version; INSERT INTO Version (VersionId) VALUES (8); END_OF_DATA then echo "Update of Bacula MySQL tables succeeded." else echo "Update of Bacula MySQL tables failed." fi exit 0