X-Git-Url: https://git.novaco.in/?p=electrum-server.git;a=blobdiff_plain;f=start;h=e0d0bc987313291e1aa4016d1ff845d671e45587;hp=c76393c0a61e05553d618e16481f97c6403bbdea;hb=60289ceea19d2672789cf9e69152f2f904e61d72;hpb=cfccf5962610ef6efa198e64ad7039fa39bf2e31 diff --git a/start b/start index c76393c..e0d0bc9 100755 --- a/start +++ b/start @@ -1,29 +1,38 @@ #!/bin/bash +PID=`/usr/bin/python server.py getpid` +if [[ $PID != *[!0-9]* ]]; then + echo "Server already running (pid $PID)" + exit +fi + + electrum_config="/etc/electrum.conf" if [ ! -f $electrum_config ]; then - echo "/etc/electrum.conf does not exist" + echo "$electrum_config does not exist" exit fi -path=`grep path_fulltree $electrum_config |awk -F\= '{print $2}'` - -#needs more hardening against double definiton of variable, dismiss commented ones +path=`grep -e ^path_fulltree $electrum_config |awk -F\= '{print $2}' | tail -n 1` if ! [ "$path" ]; then - echo "Variable path_fulltree not set in /etc/electrum.conf" + echo "Variable path_fulltree not set in $electrum_config" exit + # we're actually forcing fulltree with this clause, which is ok if displaying v0.9 should use fulltree fi +rmdir $path --ignore-fail-on-non-empty + if [ ! -d $path ]; then echo "Database not found in $path." read -p "Do you want to download it from the Electrum foundry to $path ? " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then - wget -O - "http://foundry.electrum.org/leveldb-dump/electrum-fulltree-100-latest.tar" | tar -C $path -xvf - + mkdir -p $path + wget -O - "http://foundry.electrum.org/leveldb-dump/electrum-fulltree-100-latest.tar.gz" | tar --extract --gunzip --strip-components 1 --directory $path --file - fi fi -echo "starting server as daemon" +echo "Starting server as daemon" nohup /usr/bin/python -u server.py &> /var/log/electrum.log &