#!/bin/bash #,------------------------------------------------------------------------------ #| #| Script to restore OpenVPMS from backup #| #'------------------------------------------------------------------------------ # FIXME: This works around zenity echoing junk to the console. Is this what should be done? export NO_AT_BRIDGE=1 OPENVPMS_LOCATION="/usr/local/openvpms-release-1.7.1/" # Check that 1.7.1 is running, otherwise quit. if [ ! -d "/usr/local/openvpms-release-1.7.1/" ]; then zenity --error --text="OpenVPMS 1.7.1 does not seem to be installed" exit1 fi BACKUP_LOCATION=`zenity --file-selection --directory --title="Select OpenVPMS backup to restore"` if [ "$BACKUP_LOCATION" = "" ] ; then zenity --error --text="Restore canceled." fi if [ ! -f "$BACKUP_LOCATION/openvpms.sql.gz" ]; then zenity --error --text="Directory is not a location of an OpenVPMS backup" exit 1 fi ( echo "10"; echo "# Stopping Tomcat 7";/etc/init.d/tomcat7 stop cd $BACKUP_LOCATION echo "20"; echo "# Restoring data";gzip -cd $BACKUP_LOCATION/openvpms.sql.gz | mysql --user=openvpms --password=openvpms openvpms echo "60"; echo "# Upgrading data if required" OLD_OPENVPMS_VER=`zenity --list --text "Select source format of the data to restore" --radiolist --column "#" --column "OpenVPMS version" TRUE "1.7 (ie. current version)" FALSE "1.6" FALSE "1.5" FALSE "1.4" FALSE "1.3" FALSE "1.2" FALSE "1.1" FALSE "1.0"` case "$OLD_OPENVPMS_VER" in 1.0) mysql -u openvpms -p openvpms < $OPENVPMS_LOCATION/update/db/migrate-1.0-to-1.1.sql;; 1.1|1.0) mysql -u openvpms -p openvpms < $OPENVPMS_LOCATION/update/db/migrate-1.1-to-1.2.sql;; 1.2|1.1|1.0) mysql -u openvpms -p openvpms < $OPENVPMS_LOCATION/update/db/migrate-1.2-to-1.3.sql;; 1.3|1.2|1.1|1.0)mysql -u openvpms -p openvpms < $OPENVPMS_LOCATION/update/db/migrate-1.3-to-1.4.sql;; 1.4|1.3|1.2|1.1|1.0)mysql -u openvpms -p openvpms < $OPENVPMS_LOCATION/update/db/migrate-1.4-to-1.5.sql;; 1.6|1.5|1.4|1.3|1.2|1.1|1.0)mysql -u openvpms -p openvpms < $OPENVPMS_LOCATION/update/db/migrate-1.6-to-1.7.sql;; esac echo "90"; echo "# Starting Tomcat 7";/etc/init.d/tomcat7 start echo "100"; echo "# Database restore completed!" ) | zenity --progress --title="OpenVPMS restoration process" --text="Beginning restoration" --percentage=0 if [ "$?" = -1 ]; then zenity --error --text="Restore failed" exit 1 fi