raspiblitz/home.admin/_provision.migration.sh
2021-09-08 22:37:29 +02:00

69 lines
2.7 KiB
Bash
Executable file

#!/bin/bash
# LOGFILE - store debug logs of bootstrap
logFile="/home/admin/raspiblitz.log.migration"
# INFOFILE - state data from bootstrap
infoFile="/home/admin/raspiblitz.info"
source ${infoFile}
# SETUPFILE - data from setup process
source /var/cache/raspiblitz/temp/raspiblitz.setup
# CONFIGFILE - configuration of RaspiBlitz
configFile="/mnt/hdd/raspiblitz.conf"
# log header
echo "" > ${logFile}
echo "###################################" >> ${logFile}
echo "# _provision.migration.sh" >> ${logFile}
echo "###################################" >> ${logFile}
sudo sed -i "s/^message=.*/message='Provision Migration'/g" ${infoFile}
if [ "${hddGotMigrationData}" == "" ]; then
sed -i "s/^state=.*/state=error/g" ${infoFile}
sed -i "s/^message=.*/message='config: missing hddGotMigrationData'/g" ${infoFile}
echo "FAIL see ${logFile}"
echo "FAIL: missing hddGotMigrationData in (${infoFile})!" >> ${logFile}
exit 2
fi
source <(sudo /home/admin/config.scripts/blitz.datadrive.sh status)
err=""
nodenameUpperCase=$(echo "${hddGotMigrationData}" | tr "[a-z]" "[A-Z]")
echo "**************************************************" >> ${logFile}
echo "MIGRATION FROM ${nodenameUpperCase} TO RASPIBLITZ" >> ${logFile}
echo "**************************************************" >> ${logFile}
echo "- started ..." >> ${logFile}
source <(sudo /home/admin/config.scripts/blitz.migration.sh migration-${hddGotMigrationData})
if [ "${err}" != "" ]; then
echo "MIGRATION FAILED: ${err}" >> ${logFile}
echo "Format data disk on laptop & recover funds with fresh sd card using seed words + static channel backup." >> ${logFile}
sed -i "s/^state=.*/state=error/g" ${infoFile}
sed -i "s/^message=.*/message='migration failed'/g" ${infoFile}
exit 3
fi
# set password c if given in flag from migration prep
passwordFlagExists=$(sudo ls /mnt/hdd/passwordc.flag | grep -c "passwordc.flag")
if [ "${passwordFlagExists}" == "1" ]; then
echo "Found /mnt/hdd/passwordc.flag .. changing password" >> ${logFile}
oldPasswordC=$(sudo cat /mnt/hdd/passwordc.flag)
sudo /home/admin/config.scripts/lnd.initwallet.py change-password "${oldPasswordC}" "${passwordC}" >> ${logFile}
sudo shred -u /mnt/hdd/passwordc.flag
else
echo "No /mnt/hdd/passwordc.flag" >> ${logFile}
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}
sudo 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