flexfarmer.sh 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/bin/bash
  2. set -e
  3. function print_centered {
  4. [[ $# == 0 ]] && return 1
  5. declare -i TERM_COLS="$(tput cols)"
  6. declare -i str_len="${#1}"
  7. [[ $str_len -ge $TERM_COLS ]] && {
  8. echo "$1";
  9. return 0;
  10. }
  11. declare -i filler_len="$(( (TERM_COLS - str_len) / 2 ))"
  12. [[ $# -ge 2 ]] && ch="${2:0:1}" || ch=" "
  13. filler=""
  14. for (( i = 0; i < filler_len; i++ )); do
  15. filler="${filler}${ch}"
  16. done
  17. printf "%s%s%s" "$filler" "$1" "$filler"
  18. [[ $(( (TERM_COLS - str_len) % 2 )) -ne 0 ]] && printf "%s" "${ch}"
  19. printf "\n"
  20. return 0
  21. }
  22. print_centered "$(tput setaf 10)"
  23. print_centered " _____ _ ___ "
  24. print_centered "| __| |___ _ _| _|___ ___ _____ ___ ___ "
  25. print_centered "| __| | -_|_'_| _| .'| _| | -_| _|"
  26. print_centered "|__| |_|___|_,_|_| |__,|_| |_|_|_|___|_| "
  27. print_centered " "
  28. echo -n "$(tput setaf 7)"
  29. print_centered "Flexpool mining software"
  30. function build_service {
  31. cat <<'EOF'>> /tmp/flexfarmer
  32. #!/bin/sh -e
  33. ### BEGIN INIT INFO
  34. # Provides: flexfarmer
  35. # Required-Start: networking
  36. # Default-Start: 3 4 5
  37. # Default-Stop: 0 6
  38. ### END INIT INFO
  39. cd /home/wareck/miners/flexfarmer/
  40. su wareck -c "screen -dmS flexfarmer /home/wareck/miners/flexfarmer/flexfarmer -c config.yml"
  41. exit 0
  42. EOF
  43. chmod +x /tmp/flexfarmer
  44. sudo cp /tmp/flexfarmer /etc/init.d/flexfarmer
  45. sudo update-rc.d flexfarmer defaults
  46. print_centered "Build Service : [ OK ]"
  47. }
  48. function install_ {
  49. wget -c -q http://folivier.homelinux.org/cube/pack/flexfarmer.tar.xz
  50. tar xfJ flexfarmer.tar.xz
  51. sudo cp -r flexfarmer /home/wareck/miners/
  52. sudo rm -r -f flexfarmer flexfarmer.tar.xz
  53. print_centered "Install software : [ OK ]"
  54. }
  55. echo ""
  56. install_
  57. build_service