Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # restart_node_number.sh -- v0.0.1 -- moocowmoo
- # restart a numbered masternode
- # - depends on:
- # .ssh/config entries (drk-1, drk-2, etc.)
- # confs and wallets named:
- # darkcoin.conf.hd-0p-0-$N
- # wallet.dat.hd-0p-0-$N
- # where $N is an integer
- #
- # usage: ./restart_node_number.sh 1 [walletpassphrase]
- #
- # I do this with environment variables as:
- # $ export P='mywalletpassphrase'
- # (note the extra space at the beginning, keeps entry out of history)
- # $ ./restart_node_number.sh 1 $P
- case $1 in
- ''|*[!0-9]*) echo usage $0 node_number; exit ;;
- *) ;;
- esac
- echo "stopping local daemon"
- darkcoind stop 2>/dev/null;
- echo "waiting 2 seconds for daemon to shutdown"
- sleep 2;
- N=$1;
- P=$2;
- rm darkcoin.conf wallet.dat ;
- ln -s darkcoin.conf.hd-0p-0-$N darkcoin.conf ;
- ln -s wallet.dat.hd-0p-0-$N wallet.dat ;
- echo "starting local daemon"
- darkcoind &
- echo "waiting 10 seconds for daemon to initialize..."
- sleep 10;
- BALANCE=$(darkcoind getbalance);
- if [ "$BALANCE" \< 1000 ] ; then
- echo masternode address has insufficient funds. $BALANCE DRK. exiting;
- exit;
- fi
- echo "local wallet balance checks out: $BALANCE"
- # get wallet passphrase if not supplied
- if [ -z "$P" ] ; then
- read -s -p 'enter wallet password: ' P
- echo;
- fi
- # check wallet passphrase before embarking
- SUCCESS=$(darkcoind walletpassphrase $P 60 2>&1 );
- if [[ $SUCCESS =~ 'Error' ]] ; then
- echo invalid password. exiting.
- exit;
- fi
- echo "local wallet password checks out"
- echo "shutting down remote daemon"
- ssh drk-$N 'darkcoind stop;'
- echo "waiting 5 seconds for daemon to shutdown..."
- sleep 5;
- echo "starting remote daemon"
- ssh drk-$N 'darkcoind </dev/null >/dev/null 2>&1 &'
- echo "waiting 5 seconds for daemon to startup..."
- sleep 5;
- SUCCESS=$(darkcoind masternode start $P 2>&1 );
- echo $SUCCESS;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement