raspiblitz/home.admin/_provision.migration.sh

84 lines
3.3 KiB
Bash
Executable File

#!/bin/bash
# check if run by root user
if [ "$EUID" -ne 0 ]; then
echo "error='run as root'"
exit 1
fi
# LOGFILE - store debug logs of bootstrap
logFile="/home/admin/raspiblitz.provision-migration.log"
# INFOFILE - state data from bootstrap
infoFile="/home/admin/raspiblitz.info"
source ${infoFile}
# SETUPFILE - data from setup process
source /var/cache/raspiblitz/temp/raspiblitz.setup
# CACHEDATA - import needed data from cache
source <(/home/admin/_cache.sh get hddGotMigrationData hddVersionLND)
# log header
echo "" > ${logFile}
chmod 640 ${logFile}
chown root:sudo ${logFile}
echo "###################################" >> ${logFile}
echo "# _provision.migration.sh" >> ${logFile}
echo "###################################" >> ${logFile}
/home/admin/_cache.sh set message "Provision Migration"
if [ "${hddGotMigrationData}" == "" ]; then
/home/admin/config.scripts/blitz.error.sh _provision.migration.sh "missing-migrationdata" "missing hddGotMigrationData" "" ${logFile}
exit 2
fi
err=""
nodenameUpperCase=$(echo "${hddGotMigrationData}" | tr "[a-z]" "[A-Z]")
echo "**************************************************" >> ${logFile}
echo "MIGRATION FROM ${nodenameUpperCase} TO RASPIBLITZ" >> ${logFile}
echo "**************************************************" >> ${logFile}
echo "- started ..." >> ${logFile}
/home/admin/config.scripts/blitz.migration.sh migration-${hddGotMigrationData} >> ${logFile}
if [ "$?" != "0" ]; then
/home/admin/config.scripts/blitz.error.sh _provision.migration.sh "migration-failed" "see provision migration logs" "Recover funds with fresh sd card using seed words + static channel backup." ${logFile}
exit 3
fi
# make sure a raspiblitz.conf exists after migration
confExists=$(ls /mnt/hdd/raspiblitz.conf 2>/dev/null | grep -c "raspiblitz.conf")
if [ "${confExists}" != "1" ]; then
/home/admin/config.scripts/blitz.error.sh _provision.migration.sh "missing-config" "no /mnt/hdd/raspiblitz.conf" "After runningn migration process - no raspiblitz.conf abvailable." ${logFile}
exit 6
fi
# make sure for the rest of the setup info is set correctly
/home/admin/config.scripts/blitz.conf.sh set network "bitcoin"
/home/admin/config.scripts/blitz.conf.sh set chain "main"
# set Password B
echo "## SETTING PASSWORD B" >> ${logFile}
if [ "${setPasswordB}" == "1" ]; then
if [ "${passwordB}" != "" ]; then
# set password B as RPC password
echo "# setting PASSWORD B" >> ${logFile}
/home/admin/config.scripts/blitz.passwords.sh set b "${passwordB}" >> ${logFile}
else
/home/admin/config.scripts/blitz.error.sh _provision.migration.sh "missing-passwordb" "FAIL: Password B should be set but was empty! Running with default." "" ${logFile}
exit 4
fi
else
/home/admin/config.scripts/blitz.error.sh _provision.migration.sh "missing-setpasswordb" "setPasswordB!=1 this not normal on migration! Running with default." "" ${logFile}
exit 5
fi
# if free space is lower than 100GB (100000000) delete backup files
if [ "${hddDataFreeKB}" != "" ] && [ ${hddDataFreeKB} -lt 407051412 ]; then
echo "- free space of data disk is low ... deleting 'backup_migration'" >> ${logFile}
rm -R /mnt/hdd/backup_migration
else
echo "- old data of ${nodenameUpperCase} can be found in '/mnt/hdd/backup_migration'" >> ${logFile}
fi
echo "OK MIGRATION" >> ${logFile}
echo "END Migration" >> ${logFile}
exit 0