git.iko.soy/xmrig-bash-scripts
on master help sign in
tidup logic
commit42c23ebf1401e536fedd5e7b2740e5d8619b7660 authorSean Wheller <sean@prepaidmeters.com> dateSun 11 Aug 2019, 15:58 (7 years ago) parent72859d6
13 files changed+90−34
build.sh+3−1 config.sh+3−1 crontab-off.sh+3−1 crontab-on.sh+3−1 crontab.sh+4−1 depends.sh+3−1 functions.sh+16−5 input.sh+22−9 install.sh+14−1 maintenance.sh+3−1 settings.sh+6−10 start.sh+7−1 stop.sh+3−1
build.sh+3−1
@@ -1,5 +1,7 @@
11#!/bin/bash
22
3+echo "${_GREEN}BUILD STARTED${_RESET}"
4+
35# Clone source
46if [ -d "$_XMRIG_CLONE_LOCATION" ]; then
57
@@ -45,5 +47,5 @@ sudo cp $_XMRIG_BUILD_LOCATION/xmrig $_XMRIG_TARGET_LOCATION
4547
4648cd $_WORK_DIR
4749
48−echo "${_GREEN}BUILD COMPLETE${_RESET}"
50+echo "${_CYAN}BUILD STOPPED${_RESET}"
4951
config.sh+3−1
@@ -1,6 +1,8 @@
11#!/bin/bash
22
3+echo "${_GREEN}CONFIG STARTED${_RESET}"
4+
35echo "$_CONFIG_JSON" | tee config.json
46
5−echo "${_GREEN}CONFIG CREATED${_RESET}"
7+echo "${_CYAN}CONFIG STOPPED${_RESET}"
68
crontab-off.sh+3−1
@@ -1,5 +1,7 @@
11#!/bin/bash
22
3+echo "${_GREEN}DISABLE CRONTAB STARTED${_RESET}"
4+
35# Removes a user crontab
46# Used in conjunction with crontab-on.sh to toggle user crontab between states:
57# on - start/stop xmrig at specified times
@@ -12,5 +14,5 @@ crontab -l > crontab
1214echo "Removing exiting crontab"
1315crontab -r
1416
15−echo "${_GREEN}CRONTAB DISABLED${_RESET}"
17+echo "${_CYAN}DISABLE CRONTAB STOPPED${_RESET}"
1618
crontab-on.sh+3−1
@@ -1,5 +1,7 @@
11#!/bin/bash
22
3+echo "${_GREEN}ENABLE CRONTAB STARTED${_RESET}"
4+
35# Defines a user crontab with schedules as defined in settings.sh
46# Used in conjunction with crontab-off.sh to toggle user crontab between states:
57# on - start/stop xmrig at specified times
@@ -14,5 +16,5 @@ sleep 5
1416. crontab.sh
1517sleep 5
1618
17−echo "${_GREEN}CRONTAB ENABLED${_RESET}"
19+echo "${_CYAN}ENABLE CRONTAB STOPPED${_RESET}"
1820
crontab.sh+4−1
@@ -1,5 +1,8 @@
11#!/bin/bash
22
3+
4+echo "${_GREEN}CRONTAB STARTED${_RESET}"
5+
36# Set values in settings script
47
58# Remove existing crontab
@@ -15,5 +18,5 @@ crontab -l | { cat; echo "#Start at $_USER_TIMESTART on days $_USER_CRONDAYS
1518crontab -l | { cat; echo "#Stop at $_USER_TIMESTOP on days $_USER_CRONDAYS
16190 $_USER_CRONSTOP * * $_USER_CRONDAYS screen -S $_XMRIG_SCREEN -X kill"; } | crontab -
1720
18−echo "${_GREEN}CRONTAB CREATED${_RESET}"
21+echo "${_CYAN}CRONTAB STOPPED${_RESET}"
1922
depends.sh+3−1
@@ -2,6 +2,8 @@
22
33# Install the software requirements
44
5+echo "${_GREEN}INSTALL DEPENDS STARTED${_RESET}"
6+
57if [ $_APT_DEPENDS = 1 ]; then
68
79 # Install xmrig depends
@@ -12,4 +14,4 @@ if [ $_APT_DEPENDS = 1 ]; then
1214
1315fi
1416
15−echo "${_GREEN}DEPENDENCIES INSTALLED${_RESET}"
17+echo "${_CYAN}INSTALL DEPENDS STOPPED${_RESET}"
functions.sh+16−5
@@ -1,5 +1,7 @@
11#!/bin/bash
22
3+echo -e "${_GREEN}FUNCTIONS LOADING${_RESET}"
4+
35function prompt_confirm() {
46 while true; do
57 read -r -n 1 -p "${1:-Continue?} [y/n]: " REPLY
@@ -11,10 +13,9 @@ function prompt_confirm() {
1113 done
1214}
1315
14−function show_mysettings () {
15− if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
16− . $_MYSETTINGS_FILE
17− echo "${_CYAN}Settings from loaded from mysettings.sh.${_RESET}"
16+function show_settings () {
17+ if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
18+ echo "${_CYAN}Settings loaded:${_RESET}"
1819 echo "${_GREEN}Pool URL:${_RESET}: $_POOL_SERVER_URL"
1920 echo "${_GREEN}Pool Port:${_RESET}: $_POOL_SERVER_PORT"
2021 echo "${_GREEN}Recieve Wallet:${_RESET}: $_RECEIVE_WALLET"
@@ -23,6 +24,16 @@ function show_mysettings () {
2324 fi
2425}
2526
27+function load_mysettings () {
28+ if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
29+ . $_MYSETTINGS_FILE
30+ fi
31+}
32+
33+function my_config_json () {
34+ _CONFIG_JSON=$(jo -p -B api=$(jo id=$_API_ID worker-id=$_API_WORKER_ID) autosave=$_AUTOSAVE background=$_BACKGROUND colors=$_COLORS cpu=$(jo enabled=$_CPU_ENABLED huge-pages=$_CPU_HUGE_PAGES hw-aes=$_CPU_HW_AES priority=$_CPU_PRIORITY asm=$_CPU_ASM cn=$(jo -a $_CPU_CN) cn/0=$_CPU_CN_0 cn-lite/0=$_CPU_CN_LITE_0) donate-level=$_DONATE_LEVEL donate-over-proxy=$_DONATE_OVER_PROXY http=$(jo enabled=$_HTTP_ENABLED host=$_HTTP_HOST port=$_HTTP_PORT access-token=$_HTTP_ACCESS_TOKEN restricted=$_HTTP_RESTRICTED) logfile=$_LOGFILE pools=$(jo -a $(jo algo=$_POOLS_ALGO url=$_POOLS_URL user=$_POOLS_USER pass=$_POOLS_PASS rig-id=$_POOLS_RIG_ID nicehash=$_POOLS_NICEHASH keepalive=$_POOLS_KEEPALIVE enabled=$_POOLS_ENABLED tls=$_POOLS_TLS tls-fingerprint=$_POOLS_TLS_FINDERPRINT daemon=$_POOLS_DAEMON)) print-time=$_PRINT_TIME retries=$_RETRIES retry-pause=$_RETRIES_PAUSE syslog=$_SYSLOG user-agent=$_USER_AGENT watch=$_WATCH)
35+}
36+
2637function build_xmrig () {
2738 if [ -d $_XMRIG_BUILD_LOCATION ]; then
2839 # Remove existing build directory
@@ -103,4 +114,4 @@ function calc_hugepages () {
103114
104115}
105116
106−echo -e "${_GREEN}FUNCTIONS LOADED${_RESET}"
117+echo -e "${_CYAN}FUNCTIONS LOADED${_RESET}"
input.sh+22−9
@@ -2,21 +2,27 @@
22
33# Ask user questions
44# Capture input
5+# if setting already exist use existing
56
6−echo -e "${_YELLOW}Opt for default settings or enter your own.\n"
7−
8−echo -e "No - values taken from 'settings.sh'."
9−echo -e "Yes - values taken from 'mysettings.sh' (recomended).\n"
10−
11−echo -e "When 'mysettings.sh' they are given preference at installation and on subsequence restarts."
12−echo -e "Own settings is recomended to avoid your settings being overidden in upgrades.${_RESET}\n"
7+echo -e "${_GREEN}USER SETTINGS STARTED${_RESET}"
138
149if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
1510
1611 # Call function
17− show_mysettings
12+
13+ load_mysettings
14+
15+ my_config_json
1816
1917else
18+ echo -e " ${_YELLOW}Opt for default settings or enter your own.\n"
19+
20+ echo -e " No - 'config.json' created with values from 'settings.sh'."
21+ echo -e " Yes - 'config.json' created with values from 'mysettings.sh' (recomended).\n"
22+
23+ echo -e " When 'mysettings.sh' exists this prompt will be skipped at furture installation."
24+ echo -e " Own settings is recomended to avoid your settings being overidden in upgrades.${_RESET}\n"
25+
2026
2127 prompt_confirm "Enter your own settings?"
2228
@@ -52,9 +58,16 @@ else
5258 echo "_RECEIVE_WALLET=\"$_RECEIVE_WALLET\"" >> $_MYSETTINGS_FILE_LOCATION
5359 echo "_EMAIL=\"$_EMAIL\"" >> $_MYSETTINGS_FILE_LOCATION
5460 echo "_API_WORKER_ID=\"$_API_WORKER_ID\"" >> $_MYSETTINGS_FILE_LOCATION
61+ echo "_POOLS_URL=\"$_POOL_SERVER_URL:$_POOL_SERVER_PORT\"" >> $_MYSETTINGS_FILE_LOCATION
5562
5663 fi
64+
65+ # Call function
66+
67+ load_mysettings
68+
69+ my_config_json
5770
5871fi
5972
60−echo -e "${_GREEN}MYSETTINGS LOADED${_RESET}"
73+echo "${_CYAN}USER SETTINGS STOPPED${_RESET}"
install.sh+14−1
@@ -1,5 +1,17 @@
11#!/bin/bash
22
3+
4+# Colors
5+_CYAN=`tput setaf 1`
6+_GREEN=`tput setaf 2`
7+_YELLOW=`tput setaf 3`
8+_BLUE=`tput setaf 4`
9+_MAGENTA=`tput setaf 5`
10+_CYAN=`tput setaf 6`
11+_RESET=`tput sgr0`
12+
13+echo "${_GREEN}INSTALLATION STARTED${_RESET}"
14+
315_DEBUG=$1
416
517if $_DEBUG; then
@@ -18,6 +30,7 @@ fi
1830
1931# Load functions
2032. functions.sh
33+sleep 5
2134
2235# Get settings
2336. settings.sh
@@ -57,4 +70,4 @@ SCREEN=""
5770. start.sh
5871
5972
60−echo -e "${_GREEN}INSTALLATION COMPLETE${_RESET}"
73+echo -e "${_CYAN}INSTALLATION STOPPED${_RESET}"
maintenance.sh+3−1
@@ -1,10 +1,12 @@
11#!/bin/bash
22
3+echo "${_GREEN}MAINTENANCE STARTED${_RESET}"
4+
35if [ $_APT_MAINETANCE = 1 ]; then
46
57 sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt autoclean
68
79fi
810
9−echo "${_GREEN}MAINTENANCE COMPLETE${_RESET}"
11+echo "${_CYAN}MAINTENANCE STOPPED${_RESET}"
1012
settings.sh+6−10
@@ -1,5 +1,7 @@
11#!/bin/bash
22
3+echo -e "${_GREEN}DEFAULT SETTINGS LOADING${_RESET}"
4+
35_EMAIL="miners@prepaidmeters.com"
46
57_RECEIVE_WALLET="854sqm2Cm4TB2XgPHWqSPSbnFAe3SMzdEDzZHpukQ8NHBPFropbnkFmEKiZPgwjMFC9PTjaFscR2UU6ZwFCqJzGMUiZVbTM"
@@ -7,6 +9,9 @@ _RECEIVE_WALLET="854sqm2Cm4TB2XgPHWqSPSbnFAe3SMzdEDzZHpukQ8NHBPFropbnkFmEKiZPgwj
79_POOL_SERVER_URL="pool.supportxmr.com"
810_POOL_SERVER_PORT="3333"
911
12+# Call function
13+show_settings
14+
1015#######################################################################
1116# DO NOT CHANGE AFTER THIS POINT UNLESS YOU KNOW WHAT YOU ARE DOING #
1217#######################################################################
@@ -71,8 +76,6 @@ _USER_AGENT="null"
7176
7277_WATCH="true"
7378
74−_CONFIG_JSON=$(jo -p -B api=$(jo id=$_API_ID worker-id=$_API_WORKER_ID) autosave=$_AUTOSAVE background=$_BACKGROUND colors=$_COLORS cpu=$(jo enabled=$_CPU_ENABLED huge-pages=$_CPU_HUGE_PAGES hw-aes=$_CPU_HW_AES priority=$_CPU_PRIORITY asm=$_CPU_ASM cn=$(jo -a $_CPU_CN) cn/0=$_CPU_CN_0 cn-lite/0=$_CPU_CN_LITE_0) donate-level=$_DONATE_LEVEL donate-over-proxy=$_DONATE_OVER_PROXY http=$(jo enabled=$_HTTP_ENABLED host=$_HTTP_HOST port=$_HTTP_PORT access-token=$_HTTP_ACCESS_TOKEN restricted=$_HTTP_RESTRICTED) logfile=$_LOGFILE pools=$(jo -a $(jo algo=$_POOLS_ALGO url=$_POOLS_URL user=$_POOLS_USER pass=$_POOLS_PASS rig-id=$_POOLS_RIG_ID nicehash=$_POOLS_NICEHASH keepalive=$_POOLS_KEEPALIVE enabled=$_POOLS_ENABLED tls=$_POOLS_TLS tls-fingerprint=$_POOLS_TLS_FINDERPRINT daemon=$_POOLS_DAEMON)) print-time=$_PRINT_TIME retries=$_RETRIES retry-pause=$_RETRIES_PAUSE syslog=$_SYSLOG user-agent=$_USER_AGENT watch=$_WATCH)
75−
7679# Set working directory
7780_WORK_DIR="$(pwd)"
7881cd $_WORK_DIR
@@ -126,13 +129,6 @@ _APT_MAINETANCE="1"
126129# 1 = yes 0 = no
127130_APT_DEPENDS="1"
128131
129−# Colors
130−_GREEN=`tput setaf 2`
131−_YELLOW=`tput setaf 3`
132−_BLUE=`tput setaf 4`
133−_MAGENTA=`tput setaf 5`
134−_CYAN=`tput setaf 6`
135−_RESET=`tput sgr0`
136132
137−echo -e "${_GREEN}SETTINGS LOADED${_RESET}"
133+echo -e "${_CYAN}DEFAULT SETTINGS LOADED${_RESET}"
138134
start.sh+7−1
@@ -1,5 +1,7 @@
11#!/bin/bash
22
3+echo "${_GREEN}MINING STARTED${_RESET}"
4+
35# When this script is:
46# * run by crontab, load the settings
57# * run by install, do not load settings
@@ -23,5 +25,9 @@ else
2325
2426fi
2527
26−echo "${_GREEN}MINING STARTED${_RESET}"
28+echo "${_CYAN}MINING RUNNING${_RESET}"
29+echo "${_YELLOW} The process is running in a screen session."
30+echo "${_YELLOW} The screen session is named: $_XMRIG_SCREEN"
31+echo "${_YELLOW} To view the process enter 'screen -r $_XMRIG_SCREEN'${_RESET}"
32+echo "${_MAGENTA} ENJOY!!!${_RESET}"
2733
stop.sh+3−1
@@ -4,6 +4,8 @@
44# * run by crontab, load the settings
55# * run by install, do not load settings
66
7+echo "${_GREEN}END MINING STARTED${_RESET}"
8+
79if [ -z "$_XMRIG_SCREEN" ]; then
810 # Load settings when run by crontab
911 . settings.sh
@@ -16,5 +18,5 @@ else
1618 stop_xmrig
1719fi
1820
19−echo "${_GREEN}MINING STOPPED${_RESET}"
21+echo "${_CYAN}END MINING STOPPED${_RESET}"
2022