diff options
Diffstat (limited to 'abs/core-testing/LinHES-system/bin/mythrestore')
-rwxr-xr-x | abs/core-testing/LinHES-system/bin/mythrestore | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/abs/core-testing/LinHES-system/bin/mythrestore b/abs/core-testing/LinHES-system/bin/mythrestore deleted file mode 100755 index 447b0b8..0000000 --- a/abs/core-testing/LinHES-system/bin/mythrestore +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/bash - -#---------------------------------------------------------------------------- -. /usr/LH/bin/backupcommon || { - echo 1>&2 "Can not load common settings!" - exit 1 -} - -. /etc/osd_cat.cfg || { - color=yellow - outline=2 - outlinecolour=black - shadow=0 - shadowcolour=black - font="-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*" -} -#---------------------------------------------------------------------------- - -# Function to display status onscreen -osd() -# Arg_1 = display text Arg_2 = delay time Arg_3 = line num -{ - TEXT=$1 - killall -9 osd_cat - if [ $3 -gt 1 ]; then - for ((i=2; i <= $3 ; i++)) - do - TEXT="\n"$TEXT - done - fi - printf "$TEXT" | osd_cat --lines=6 --pos=middle --align=center --delay=$2 --color=$color --outline=$outline --outlinecolour=$outlinecolour --shadow=$shadow --shadowcolour=$shadowcolour --font=$font & -} - -do_file_updates() { # A function because we need to do this in two places - echo "Doing any needed file updates..." - [ -n "$UPDATE_FILES" -a -f "$UPDATE_FILES" -a -x "$UPDATE_FILES" ] && - "$UPDATE_FILES" -} - -do_db_updates() { - # We need to redo this since we just restored the old settings... - lock_myth - # This is gross, but makes sure that the lock count has a sane value... - mysql_cmd "update settings set data = '1' where value = 'MythShutdownLock'" - - # Clean up ambiguous schema version settings... - for val in $(mysql_cmd "select distinct value from settings where value like '%SchemaVer'") ; do - # Find the numeric maximum version for this schema - max_ver=$(mysql_cmd "select max(0 + ifnull(data, 0)) from settings where value = '$val'") - # Wipe out all the existing ones - mysql_cmd "delete from settings where value = '$val'" - # Insert a nice clean unique one. - mysql_cmd "insert into settings set value = '$val', data = '$max_ver'" - done - - # This table causes problems with mythweb on upgrades... - mysql_cmd "update settings set data = '0' where value = 'WebDBSchemaVer'" - mysql_cmd "drop table mythweb_sessions" >/dev/null 2>&1 -} - -# Let's prevent mythshutdown from shutting down the system. -lock_myth - -# Play a sound to let you know I'm starting. -play_sound restore.wav -export DISPLAY=:0.0 - -# Doing this while the backend is active could be BAD. -stop_mythbackend - -# If the standard backup file exists we try to restore the files based -# on our restore list. -if compression=$(compression_type "$BACKUP_TAR") ; then - osd "Restoring files..." 0 1 - echo "Starting the restore of files..." - cd / - expand -c $BACKUP_TAR$compression | - $TAR xpvf - $RESTORE_LIST $EXCLUSION 2>&1 | - $SED -e '/Error exit delayed from previous errors/d' - echo "Completed the restore of files." -fi - -# If the db backup file exists start the DB restore and upgrade -if compression=$(compression_type "$BACKUP_SQL") ; then - echo "Starting the DB restore, this can take a while..." - echo "Clearing out the existing skeleton..." - #mysql_stdin < $DROP_SQL - osd "Recreating database..." 0 2 - echo "Recreating the db..." - sleep 1 - $MYSQLADMIN -u root create $DATABASE - osd "Restoring database..." 0 3 - echo "Restoring the data (long)..." - expand -c $BACKUP_SQL$compression | mysql_stdin - echo "Doing any needed db updates..." - [ -n "$UPDATE_SQL" -a -f "$UPDATE_SQL" ] && - mysql_stdin < $UPDATE_SQL - echo "Completed the DB restore." -fi - -osd "Testing restore..." 0 4 -echo "Sanity checking your restore..." -play_sound vr.wav -# Play a sound to let you know the outcome. -if check_files_and_tables $RESTORE_LIST ; then - osd "Restore completed successfully." 5 5 - echo "Restore passes all checks." - COMPLETE_MSG="Last restore completed on `date '+%D @ %-I:%M %p'`" - play_sound restored.wav - STATUS=0 -else - osd "Restore FAILED." 5 5 - echo "The restore failed or was already modified!" - COMPLETE_MSG="Last restore FAILED on `date '+%D @ %-I:%M %p'`" - play_sound rf.wav - STATUS=1 -fi - -# Add Last restore status to menu item -if grep "<description>" /usr/share/mythtv/themes/defaultmenu/mythrestore.xml >/dev/null 2>&1 -then - sed -i "s_\<description\>.*\<description\>_description\>$COMPLETE_MSG\<\/description_" /usr/share/mythtv/themes/defaultmenu/mythrestore.xml -else - sed -i.orig " /NONE/ i\ \<description\>$COMPLETE_MSG\<\/description\>" /usr/share/mythtv/themes/defaultmenu/mythrestore.xml -fi - -# Make any updates _after_ we verify the backup... -do_db_updates -do_file_updates - -#post restore fixup for sshd -/usr/MythVantage/bin/systemconfig.py -m user - -# Now it's more or less safe to restart the backend. -start_mythbackend - -exit $STATUS |