Advertisement
gigawatt

Metiscoin All-In-One EZ Setup Script

Jan 22nd, 2014
703
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.63 KB | None | 0 0
  1. #!/bin/bash
  2. # metiscoin All-In-One EZ Setup Script
  3. # Hacked together by GigaWatt
  4. # Donations welcome!
  5. #   BTC: 1E2egHUcLDAmcxcqZqpL18TPLx9Xj1akcV
  6. #   XPM: AWHJbwoM67Ez12SHH4pH5DnJKPoMSdvLz2
  7. #   SRC: sMCD2p55fkPD6s8EzDrL7vVp8EYqPkJ6mo
  8. #   MTS: MEu8jBkkVvTLwvpiPjWC9YntyDH2u5KwVy
  9. # Last Update: 21 January, 2014
  10.  
  11. {
  12. # PUT YOUR SETTINGS HERE
  13. YPOOL_WORKER="gigawatt.metiscoin"
  14. YPOOL_WORKERPASS="x"
  15.  
  16.  
  17. # Build swapfile
  18. if [[ ! -f /swapfile ]]; then
  19.     echo "Building swapfile..."
  20.     sudo dd if=/dev/zero of=/swapfile bs=64M count=16
  21.     sudo mkswap /swapfile
  22.     sudo swapon /swapfile
  23.    
  24.     # Mount on reboot
  25.     if [[ -z "$(cat /etc/fstab | grep swapfile)" ]]; then
  26.         echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab > /dev/null 2>&1
  27.     fi
  28. fi
  29.  
  30. # Auto reboot on kernel panic
  31. if [[ -z "$(cat /etc/sysctl.conf | grep '^kernel.panic')" ]]; then
  32.     echo "kernel.panic=3" | sudo tee /etc/sysctl.conf >/dev/null 2>&1
  33. fi
  34.  
  35.  
  36. echo "Installing libraries..."
  37. sudo apt-get update
  38. sudo apt-get install build-essential bc curl dos2unix fail2ban git haveged libboost-all-dev libdb++-dev libminiupnpc-dev libssl-dev m4 nano vim -y
  39.  
  40.  
  41. # Enable HAVEGED for entropy
  42. sudo update-rc.d haveged defaults
  43. sudo service haveged start
  44.  
  45.  
  46. echo "Downloading metiscoin miner..."
  47. cat << "SCRIPT" > ~/build-metiscoin-from-git
  48. #!/bin/bash
  49. if [[ -d ~/xptminer ]]; then
  50.     cd ~/xptminer
  51.     git pull
  52.     cd ~/xptminer
  53.     make clean
  54. else
  55.     cd ~
  56.     git clone https://github.com/llamasoft/xptminer-linux.git xptminer
  57. fi
  58. cd ~/xptminer
  59. CFLAGS="-march=native -mtune=native" make
  60. sudo cp xpt /usr/local/bin/xpt
  61. SCRIPT
  62. chmod +x ~/build-metiscoin-from-git
  63. ~/build-metiscoin-from-git
  64.  
  65.  
  66. echo "Building miner config file..."
  67. echo "export XPT_USER=${YPOOL_WORKER}" > ~/miner.cfg
  68. echo "export XPT_PASS=${YPOOL_WORKERPASS}" >> ~/miner.cfg
  69.  
  70.  
  71. # Watchdog runner
  72. cat << "SCRIPT" > ~/start-miner
  73. #!/bin/bash
  74. export PATH="/usr/local/bin:$PATH"
  75. . ~/miner.cfg
  76. cores=$(cat /proc/cpuinfo | grep processor | wc -l)
  77.  
  78. echo Starting metiscoin miner
  79. killall --older-than 60s -q xpt
  80. rm ~/miner.log > /dev/null 2>&1
  81. function background_loop
  82.     while :; do
  83.         /usr/local/bin/xpt -o ypool.net -u ${XPT_USER} -p ${XPT_PASS} -t ${cores} > ~/miner.log 2>&1
  84.         sleep 5
  85.         date >> ~/crash.log
  86.     done
  87. background_loop &
  88. SCRIPT
  89. chmod +x ~/start-miner
  90. ~/start-miner
  91.  
  92.  
  93. # Add to startup
  94. mkdir /var/spool/cron/crontabs/ > /dev/null 2>&1
  95. echo "@reboot ${HOME}/start-miner"  | sudo tee    /var/spool/cron/crontabs/$(whoami) > /dev/null 2>&1
  96. echo ""                             | sudo tee -a /var/spool/cron/crontabs/$(whoami) > /dev/null 2>&1
  97. sudo chmod 0600 /var/spool/cron/crontabs/$(whoami)
  98. sudo update-rc.d cron defaults
  99.  
  100.  
  101. # Watchdog stopper
  102. cat << "SCRIPT" > ~/stop-miner
  103. #!/bin/bash
  104. {
  105.     killall -q start-miner xpt
  106.     rm ~/miner.log
  107. } >/dev/null 2>&1
  108. SCRIPT
  109. chmod +x ~/stop-miner
  110.  
  111. # Watchdog restarter
  112. cat << "SCRIPT" > ~/restart-miner
  113. #!/bin/bash
  114. ~/stop-miner
  115. ~/start-miner
  116. SCRIPT
  117. chmod +x ~/restart-miner
  118.  
  119. # Peek at status
  120. cat << "SCRIPT" > ~/peek
  121. #!/bin/bash
  122. tail -n 20 ~/miner.log
  123. echo
  124. echo
  125. echo '=========================================================='
  126. echo
  127. echo "Memory Info:"
  128. ps fup $(pidof xpt)
  129. echo
  130. free -h
  131. SCRIPT
  132. chmod +x ~/peek
  133.  
  134.  
  135. echo
  136. echo
  137. echo '=========================================================='
  138. echo 'All Done!'
  139. echo 'metiscoin miner should be up and running'
  140. echo
  141. echo 'Run ~/start-miner         to start mining'
  142. echo 'Run ~/stop-miner          to stop mining'
  143. echo 'Run ~/restart-miner       to stop and restart the miner'
  144. echo 'Run ~/peek                to check on your mining status'
  145.  
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement