auto-fix-qortal script for automated core update

This script will check the hash of the release version of Qortal (in a way that will surely be modified in the future) - It will then verify that the installed qortal.jar is the same hash as the new release. If so, it will exit.

If the installed qortal.jar is a DIFFERENT hash than release version, it will remove existing version, replace with new version, remove db, log files, update start script to use a version that uses max RAM for the JVM of 2.2GB, then start Qortal so that it will auto-bootstrap.

This is a VERY early and VERY 'rough' version of the script, but it works.

It needs a lot more checks to ensure it doesn't remove qortal with nothing to replace it, etc...

it NEEDS internet connectivity, and checks for that.

Many other additions will happen as well.
This commit is contained in:
crowetic 2022-11-14 14:27:59 -08:00 committed by GitHub
parent b1d0a9445b
commit 196e8ae0fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

56
auto-fix-qortal.sh Normal file
View File

@ -0,0 +1,56 @@
#!/bin/sh
# Regular Colors
BLACK='\033[0;30m' # Black
RED='\033[0;31m' # Red
GREEN='\033[0;32m' # Green
YELLOW='\033[0;33m' # Yellow
BLUE='\033[0;34m' # Blue
PURPLE='\033[0;35m' # Purple
CYAN='\033[0;36m' # Cyan
WHITE='\033[0;37m' # White
NC='\033[0m' # No Color
echo "${PURPLE} Checking hash of qortal.jar on local machine VS newest released qortal.jar on github ${NC}\n"
cd qortal
md5sum qortal.jar > "local.md5"
cd
echo "${RED} Grabbing newest released jar to check hash ${NC}\n"
curl -L -O https://github.com/qortal/qortal/releases/latest/download/qortal.jar
md5sum qortal.jar > "remote.md5"
LOCAL=$(cat ~/qortal/local.md5)
REMOTE=$(cat ~/remote.md5)
if [ "$LOCAL" = "$REMOTE" ]; then
echo "${BLUE} Your Qortal Core is up-to-date! No action needed. ${NC}\n"
sleep 5
rm ~/qortal.jar
rm ~/qortal/local.md5 remote.md5
exit 1
else
echo "${CYAN} Your Qortal Core is OUTDATED, refreshing and starting qortal... ${NC}\n"
cd qortal
killall -9 java
sleep 5
rm -R db
rm start.sh
rm qortal.jar
rm log.t*
mv ~/qortal.jar .
rm ~/remote.md5 local.md5
curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/start-modified-memory-args.sh
mv start-modified-memory-args.sh start.sh
chmod +x start.sh
./start.sh
fi