QORTector-scripts/auto-fix-qortal.sh
crowetic 196e8ae0fc
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.
2022-11-14 14:27:59 -08:00

57 lines
1.4 KiB
Bash

#!/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