mirror of
https://github.com/rootzoll/raspiblitz.git
synced 2025-02-28 16:58:03 +01:00
88 lines
2.6 KiB
Bash
Executable file
88 lines
2.6 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# command info
|
|
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "-help" ]; then
|
|
echo "# bitcoin.check.sh prestart [mainnet|testnet|signet]"
|
|
exit 1
|
|
fi
|
|
|
|
######################################################################
|
|
# PRESTART
|
|
# is executed by systemd bitcoind services everytime before bitcoin is started
|
|
# so it tries to make sure the config is in valid shape
|
|
######################################################################
|
|
|
|
# check/repair lnd config before starting
|
|
if [ "$1" == "prestart" ]; then
|
|
|
|
echo "### RUNNING bitcoin.check.sh prestart"
|
|
|
|
# check correct user
|
|
if [ "$USER" != "bitcoin" ]; then
|
|
echo "# FAIL: run as user 'bitcoin'"
|
|
exit 1
|
|
fi
|
|
|
|
# check correct parameter
|
|
if [ "$2" != "mainnet" ] && [ "$2" != "testnet" ] && [ "$2" != "signet" ]; then
|
|
echo "# FAIL: missing/wrong parameter"
|
|
exit 1
|
|
fi
|
|
|
|
CHAIN="$2"
|
|
|
|
##### DIRECTORY PERMISSIONS #####
|
|
|
|
/bin/chgrp bitcoin /mnt/hdd/bitcoin
|
|
|
|
##### CLEAN UP #####
|
|
|
|
# all lines with just spaces to empty lines
|
|
sed -i 's/^[[:space:]]*$//g' /mnt/hdd/bitcoin/bitcoin.conf
|
|
# all double empty lines to single empty lines
|
|
sed -i '/^$/N;/^\n$/D' /mnt/hdd/bitcoin/bitcoin.conf
|
|
|
|
##### CHECK/SET CONFIG VALUES #####
|
|
|
|
# correct debug log path
|
|
if [ "${CHAIN}" == "mainnet" ]; then
|
|
bitcoinlog_entry="main.debuglogfile"
|
|
bitcoinlog_path="/mnt/hdd/bitcoin/debug.log"
|
|
elif [ "${CHAIN}" == "testnet" ]; then
|
|
bitcoinlog_entry="test.debuglogfile"
|
|
bitcoinlog_path="/mnt/hdd/bitcoin/testnet3/debug.log"
|
|
elif [ "${CHAIN}" == "signet" ]; then
|
|
bitcoinlog_entry="signet.debuglogfile"
|
|
bitcoinlog_path="/mnt/hdd/bitcoin/signet/debug.log"
|
|
fi
|
|
|
|
# make sure entry exists
|
|
echo "# make sure entry(${bitcoinlog_entry}) exists"
|
|
extryExists=$(grep -c "^${bitcoinlog_entry}=" /mnt/hdd/bitcoin/bitcoin.conf)
|
|
if [ "${extryExists}" == "0" ]; then
|
|
echo "${bitcoinlog_entry}=${bitcoinlog_path}" >> /mnt/hdd/bitcoin/bitcoin.conf
|
|
fi
|
|
|
|
# make sure entry has the correct value
|
|
echo "# make sure entry(${bitcoinlog_entry}) has the correct value(${bitcoinlog_path})"
|
|
sed -i "s|^${bitcoinlog_entry}=.*|${bitcoinlog_entry}=${bitcoinlog_path}|g" /mnt/hdd/bitcoin/bitcoin.conf
|
|
|
|
# make sure bitcoin debug file exists
|
|
echo "# make sure bitcoin debug file exists"
|
|
touch ${bitcoinlog_path}
|
|
chown bitcoin:bitcoin ${bitcoinlog_path}
|
|
chmod 600 ${bitcoinlog_path}
|
|
|
|
##### STATISTICS #####
|
|
|
|
# count startings
|
|
if [ "${CHAIN}" == "mainnet" ]; then
|
|
/home/admin/config.scripts/blitz.systemd.sh log blockchain STARTED
|
|
fi
|
|
|
|
echo "# OK PRESTART DONE"
|
|
|
|
else
|
|
echo "# FAIL: parameter not known - run with -h for help"
|
|
exit 1
|
|
fi
|