123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- #!/bin/bash
- set -e
- version=2.1
- function print_centered {
- [[ $# == 0 ]] && return 1
- declare -i TERM_COLS="$(tput cols)"
- declare -i str_len="${#1}"
- [[ $str_len -ge $TERM_COLS ]] && {
- echo "$1";
- return 0;
- }
- declare -i filler_len="$(( (TERM_COLS - str_len) / 2 ))"
- [[ $# -ge 2 ]] && ch="${2:0:1}" || ch=" "
- filler=""
- for (( i = 0; i < filler_len; i++ )); do
- filler="${filler}${ch}"
- done
- printf "%s%s%s" "$filler" "$1" "$filler"
- [[ $(( (TERM_COLS - str_len) % 2 )) -ne 0 ]] && printf "%s" "${ch}"
- printf "\n"
- return 0
- }
- if [ ! -d /home/wareck/chia ]
- then
- echo "Flexfarmer v$version installer"
- echo "Install chia first..."
- exit
- fi
- print_centered "$(tput setaf 10)"
- print_centered " _____ _ ___ "
- print_centered "| __| |___ _ _| _|___ ___ _____ ___ ___ "
- print_centered "| __| | -_|_'_| _| .'| _| | -_| _|"
- print_centered "|__| |_|___|_,_|_| |__,|_| |_|_|_|___|_| "
- print_centered " "
- echo -n "$(tput sgr0)"
- print_centered "Flexpool mining software"
- function build_service {
- cat > $HOME/flexfarmer.service << EOF
- # The flexfarmer service (part of systemd)
- # file: /etc/systemd/system/flexfarmer.service
- [Unit]
- Description = FlexFarmer Service
- After=network.target
- [Service]
- Type=simple
- User = $USER
- WorkingDirectory= $HOME/flexfarmer
- ExecStart = $HOME/flexfarmer/flexfarmer -c $HOME/flexfarmer/config.yml
- Restart = on-failure
- RestartSec=30
- LimitNOFILE=99999
- StandardOutput=syslog
- StandardError=syslog
- SyslogIdentifier=flexfarmer
- [Install]
- WantedBy = multi-user.target
- EOF
- sudo mv $HOME/flexfarmer.service /etc/systemd/system/flexfarmer.service >/dev/null
- sudo chmod 644 /etc/systemd/system/flexfarmer.service
- cat <<'EOF'>> flexfarmer.conf
- if $programname == 'flexfarmer' then /var/log/flexfarmer.log
- & stop
- EOF
- sudo cp flexfarmer.conf /etc/rsyslog.d/flexfarmer.conf
- sudo rm flexfarmer.conf
- if [ ! -f /var/log/flexfarmer.log ]
- then
- sudo touch /var/log/flexfarmer.log
- sudo chown syslog:adm /var/log/flexfarmer.log
- fi
- cat <<'EOF'>> logrot
- /var/log/flexfarmer.log {
- daily
- rotate 7
- copytruncate
- notifempty
- missingok
- su root syslog
- }
- EOF
- sudo cp logrot /etc/logrotate.d/flexfarmer
- sudo rm logrot
- print_centered "Install service : [ OK ]"
- }
- function install_ {
- cd /home/wareck/
- wget -c -q http://folivier.homelinux.org/cube/pack/flexfarmer.tar.xz
- tar xfJ flexfarmer.tar.xz
- rm /home/wareck/flexfarmer.tar.xz
- sudo cp /home/wareck/flexfarmer/flexfarmer /usr/local/bin/
- print_centered "Install software : [ OK ]"
- }
- function nft_builder {
- if [ -f /home/wareck/chia/chia-plotter/build/flexpool.sh ];then rm /home/wareck/chia/chia-plotter/build/flexpool.sh;fi
- if [ ! -d /home/wareck/chia/chia-plotter/build/ ]; then mkdir -p /home/wareck/chia/chia-plotter/build/ ;fi
- cat <<'EOF'>> /home/wareck/chia/chia-plotter/build/flexpool.sh
- #!/bin/bash
- ./chia_plot -n 1 -r 6 -u 128 -t /media/nvme0/plotting/ -2 /media/nvme1/plotting/ -d /Chia/Chia2/Plots-nft/ -c xch10yjksfwm8s66z32qy35x950608hk8l67vmsur4rwpaanpkd6ks3qhfw5nk -f 8ba5acd276b45fd0f749ce195dcddcf0e63c3bf2e751e9e273faa0125075c36a11f2ee231e7cf74abed2920be97fc373
- EOF
- chmod +x /home/wareck/chia/chia-plotter/build/flexpool.sh
- print_centered "Install nft script : [ OK ]"
- }
- echo
- install_
- build_service
- nft_builder
- sudo systemctl restart rsyslog >/dev/null 2>&1
- sudo systemctl daemon-reload >/dev/null 2>&1
- sudo systemctl enable flexfarmer >/dev/null 2>&1
- sudo systemctl start flexfarmer >/dev/null 2>&1
- #sudo systemctl status flexfarmer
- echo
|