Last active
April 28, 2019 22:02
-
-
Save aaronhenshaw/6f88c6f882b295238c8953043ac0f9e0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
#wget https://gist.githubusercontent.com/aaronhenshaw/6f88c6f882b295238c8953043ac0f9e0/raw/7523d7bdb803041c0bcf7e00d936a6c260bbcfb7/install-bminer.sh; chmod +x install-bminer.sh; sudo ./install-bminer.sh | |
#sudo ./install-bminer.sh aaron%2Btest%40website.co workerName | |
: ${1?Need a value for miner address} | |
: ${2?Need a value for worker name} | |
MINERUSER=$1 | |
MINERWORKER=$2 | |
sudo systemctl stop grin-monitor | |
sudo systemctl stop grin-miner | |
sudo systemctl disable grin-monitor | |
sudo systemctl disable grin-miner | |
cd ~/ | |
mkdir bminer | |
cd bminer | |
wget https://www.bminercontent.com/releases/bminer-v15.5.1-4583b73-amd64.tar.xz | |
tar -xvf bminer-v15.5.1-4583b73-amd64.tar.xz | |
rm bminer-v15.5.1-4583b73-amd64.tar.xz | |
mv bminer-v15.5.1-4583b73 bminer | |
cd bminer | |
FILE=run-grin-miner-31.sh | |
SERVICE_FILE=bminer.service | |
MONITOR_SERVICE_FILE=bmonitor.service | |
MONITOR_SCRIPT_FILE=bmonitor.sh | |
cat <<EOM >$FILE | |
#!/bin/sh | |
USERNAME=${MINERUSER}%2F${MINERWORKER} | |
POOL=us-east-stratum.grinmint.com:3416 | |
SCHEME=cuckatoo31 | |
./bminer -uri \$SCHEME://\$USERNAME@\$POOL -api 127.0.0.1:1880 | |
EOM | |
cat <<EOM >$SERVICE_FILE | |
[Unit] | |
Description = Grin Miner (bminer) Service | |
After = syslog.target network.target | |
[Service] | |
User=grinminer | |
Group=grinminer | |
Type=simple | |
KillMode=process | |
Restart=always | |
RestartSec=20 | |
ExecStart=/opt/bminer/run-grin-miner-31.sh | |
WorkingDirectory=/opt/bminer | |
[Install] | |
WantedBy=multi-user.target | |
EOM | |
cat <<EOM >$MONITOR_SERVICE_FILE | |
[Unit] | |
Description = Grin Monitor (bminer) Service | |
After = bminer.service | |
[Service] | |
User=grinminer | |
Group=grinminer | |
Type=simple | |
KillMode=mixed | |
Restart=always | |
RestartSec=20 | |
ExecStart=/opt/bminer/bmonitor.sh | |
WorkingDirectory=/opt/bminer | |
[Install] | |
WantedBy=multi-user.target | |
EOM | |
cat <<EOM >$MONITOR_SCRIPT_FILE | |
#!/bin/bash | |
COUNTER=0 | |
journalctl -u bminer.service -f -n 0 | \ | |
while read line ; do | |
echo "\$line" | grep "] Accepted share" | |
if [ \$? = 0 ] | |
then | |
let COUNTER=0 | |
else | |
let COUNTER=COUNTER+1 | |
fi | |
echo "\$line" | grep "Irrecoverable errors" | |
if [ \$? = 0 ] | |
then | |
echo "bminer encountered a critical error, restarting" | |
sudo reboot | |
fi | |
if (( COUNTER > 200 )) | |
then | |
echo "Rebooting... haven't mined in a little while" | |
sudo reboot | |
fi | |
done | |
EOM | |
sudo mkdir /opt/bminer | |
sudo cp ~/bminer/bminer/* /opt/bminer/ -R | |
chmod +x /opt/bminer/run-grin-miner-31.sh | |
chmod +x /opt/bminer/bmonitor.sh | |
sudo cp ~/bminer/bminer/bminer.service /etc/systemd/system/bminer.service | |
sudo cp ~/bminer/bminer/bmonitor.service /etc/systemd/system/bmonitor.service | |
sudo chown grinminer:grinminer /opt/bminer | |
sudo chown grinminer:grinminer /opt/bminer/* -R | |
sudo systemctl daemon-reload | |
sudo systemctl enable bminer | |
sudo rm grin-miner.log | |
sudo systemctl start bminer | |
sudo systemctl start bmonitor | |
journalctl -u bminer -f |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment