git.iko.soy/xmrig-bash-scripts
on master help sign in
tidup logic
42c23ebSean Wheller
build.sh+3−1
@@ -1,5 +1,7 @@
1#!/bin/bash
1#!/bin/bash
2
2
3+echo "${_GREEN}BUILD STARTED${_RESET}"
4+
3# Clone source
5# Clone source
4if [ -d "$_XMRIG_CLONE_LOCATION" ]; then
6if [ -d "$_XMRIG_CLONE_LOCATION" ]; then
5
7
@@ -45,5 +47,5 @@ sudo cp $_XMRIG_BUILD_LOCATION/xmrig $_XMRIG_TARGET_LOCATION
45
47
46cd $_WORK_DIR
48cd $_WORK_DIR
47
49
48−echo "${_GREEN}BUILD COMPLETE${_RESET}"
50+echo "${_CYAN}BUILD STOPPED${_RESET}"
49
51
config.sh+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2
2
3+echo "${_GREEN}CONFIG STARTED${_RESET}"
4+
3echo "$_CONFIG_JSON" | tee config.json
5echo "$_CONFIG_JSON" | tee config.json
4
6
5−echo "${_GREEN}CONFIG CREATED${_RESET}"
7+echo "${_CYAN}CONFIG STOPPED${_RESET}"
6
8
crontab-off.sh+3−1
@@ -1,5 +1,7 @@
1#!/bin/bash
1#!/bin/bash
2
2
3+echo "${_GREEN}DISABLE CRONTAB STARTED${_RESET}"
4+
3# Removes a user crontab
5# Removes a user crontab
4# Used in conjunction with crontab-on.sh to toggle user crontab between states:
6# Used in conjunction with crontab-on.sh to toggle user crontab between states:
5# on - start/stop xmrig at specified times
7# on - start/stop xmrig at specified times
@@ -12,5 +14,5 @@ crontab -l > crontab
12echo "Removing exiting crontab"
14echo "Removing exiting crontab"
13crontab -r
15crontab -r
14
16
15−echo "${_GREEN}CRONTAB DISABLED${_RESET}"
17+echo "${_CYAN}DISABLE CRONTAB STOPPED${_RESET}"
16
18
crontab-on.sh+3−1
@@ -1,5 +1,7 @@
1#!/bin/bash
1#!/bin/bash
2
2
3+echo "${_GREEN}ENABLE CRONTAB STARTED${_RESET}"
4+
3# Defines a user crontab with schedules as defined in settings.sh
5# Defines a user crontab with schedules as defined in settings.sh
4# Used in conjunction with crontab-off.sh to toggle user crontab between states:
6# Used in conjunction with crontab-off.sh to toggle user crontab between states:
5# on - start/stop xmrig at specified times
7# on - start/stop xmrig at specified times
@@ -14,5 +16,5 @@ sleep 5
14. crontab.sh
16. crontab.sh
15sleep 5
17sleep 5
16
18
17−echo "${_GREEN}CRONTAB ENABLED${_RESET}"
19+echo "${_CYAN}ENABLE CRONTAB STOPPED${_RESET}"
18
20
crontab.sh+4−1
@@ -1,5 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2
2
3+
4+echo "${_GREEN}CRONTAB STARTED${_RESET}"
5+
3# Set values in settings script
6# Set values in settings script
4
7
5# Remove existing crontab
8# Remove existing crontab
@@ -15,5 +18,5 @@ crontab -l | { cat; echo "#Start at $_USER_TIMESTART on days $_USER_CRONDAYS
15crontab -l | { cat; echo "#Stop at $_USER_TIMESTOP on days $_USER_CRONDAYS
18crontab -l | { cat; echo "#Stop at $_USER_TIMESTOP on days $_USER_CRONDAYS
160 $_USER_CRONSTOP * * $_USER_CRONDAYS screen -S $_XMRIG_SCREEN -X kill"; } | crontab -
190 $_USER_CRONSTOP * * $_USER_CRONDAYS screen -S $_XMRIG_SCREEN -X kill"; } | crontab -
17
20
18−echo "${_GREEN}CRONTAB CREATED${_RESET}"
21+echo "${_CYAN}CRONTAB STOPPED${_RESET}"
19
22
depends.sh+3−1
@@ -2,6 +2,8 @@
2
2
3# Install the software requirements
3# Install the software requirements
4
4
5+echo "${_GREEN}INSTALL DEPENDS STARTED${_RESET}"
6+
5if [ $_APT_DEPENDS = 1 ]; then
7if [ $_APT_DEPENDS = 1 ]; then
6
8
7 # Install xmrig depends
9 # Install xmrig depends
@@ -12,4 +14,4 @@ if [ $_APT_DEPENDS = 1 ]; then
12
14
13fi
15fi
14
16
15−echo "${_GREEN}DEPENDENCIES INSTALLED${_RESET}"
17+echo "${_CYAN}INSTALL DEPENDS STOPPED${_RESET}"
functions.sh+16−5
@@ -1,5 +1,7 @@
1#!/bin/bash
1#!/bin/bash
2
2
3+echo -e "${_GREEN}FUNCTIONS LOADING${_RESET}"
4+
3function prompt_confirm() {
5function prompt_confirm() {
4 while true; do
6 while true; do
5 read -r -n 1 -p "${1:-Continue?} [y/n]: " REPLY
7 read -r -n 1 -p "${1:-Continue?} [y/n]: " REPLY
@@ -11,10 +13,9 @@ function prompt_confirm() {
11 done
13 done
12}
14}
13
15
14−function show_mysettings () {
16+function show_settings () {
15− if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
17+ if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
16− . $_MYSETTINGS_FILE
17− echo "${_CYAN}Settings from loaded from mysettings.sh.${_RESET}"
18+ echo "${_CYAN}Settings loaded:${_RESET}"
18 echo "${_GREEN}Pool URL:${_RESET}: $_POOL_SERVER_URL"
19 echo "${_GREEN}Pool URL:${_RESET}: $_POOL_SERVER_URL"
19 echo "${_GREEN}Pool Port:${_RESET}: $_POOL_SERVER_PORT"
20 echo "${_GREEN}Pool Port:${_RESET}: $_POOL_SERVER_PORT"
20 echo "${_GREEN}Recieve Wallet:${_RESET}: $_RECEIVE_WALLET"
21 echo "${_GREEN}Recieve Wallet:${_RESET}: $_RECEIVE_WALLET"
@@ -23,6 +24,16 @@ function show_mysettings () {
23 fi
24 fi
24}
25}
25
26
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+
26function build_xmrig () {
37function build_xmrig () {
27 if [ -d $_XMRIG_BUILD_LOCATION ]; then
38 if [ -d $_XMRIG_BUILD_LOCATION ]; then
28 # Remove existing build directory
39 # Remove existing build directory
@@ -103,4 +114,4 @@ function calc_hugepages () {
103
114
104}
115}
105
116
106−echo -e "${_GREEN}FUNCTIONS LOADED${_RESET}"
117+echo -e "${_CYAN}FUNCTIONS LOADED${_RESET}"
input.sh+22−9
@@ -2,21 +2,27 @@
2
2
3# Ask user questions
3# Ask user questions
4# Capture input
4# Capture input
5+# if setting already exist use existing
5
6
6−echo -e "${_YELLOW}Opt for default settings or enter your own.\n"
7+echo -e "${_GREEN}USER SETTINGS STARTED${_RESET}"
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"
13
8
14if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
9if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
15
10
16 # Call function
11 # Call function
17− show_mysettings
12+
13+ load_mysettings
14+
15+ my_config_json
18
16
19else
17else
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+
20
26
21 prompt_confirm "Enter your own settings?"
27 prompt_confirm "Enter your own settings?"
22
28
@@ -52,9 +58,16 @@ else
52 echo "_RECEIVE_WALLET=\"$_RECEIVE_WALLET\"" >> $_MYSETTINGS_FILE_LOCATION
58 echo "_RECEIVE_WALLET=\"$_RECEIVE_WALLET\"" >> $_MYSETTINGS_FILE_LOCATION
53 echo "_EMAIL=\"$_EMAIL\"" >> $_MYSETTINGS_FILE_LOCATION
59 echo "_EMAIL=\"$_EMAIL\"" >> $_MYSETTINGS_FILE_LOCATION
54 echo "_API_WORKER_ID=\"$_API_WORKER_ID\"" >> $_MYSETTINGS_FILE_LOCATION
60 echo "_API_WORKER_ID=\"$_API_WORKER_ID\"" >> $_MYSETTINGS_FILE_LOCATION
61+ echo "_POOLS_URL=\"$_POOL_SERVER_URL:$_POOL_SERVER_PORT\"" >> $_MYSETTINGS_FILE_LOCATION
55
62
56 fi
63 fi
64+
65+ # Call function
66+
67+ load_mysettings
68+
69+ my_config_json
57
70
58fi
71fi
59
72
60−echo -e "${_GREEN}MYSETTINGS LOADED${_RESET}"
73+echo "${_CYAN}USER SETTINGS STOPPED${_RESET}"
install.sh+14−1
@@ -1,5 +1,17 @@
1#!/bin/bash
1#!/bin/bash
2
2
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+
3_DEBUG=$1
15_DEBUG=$1
4
16
5if $_DEBUG; then
17if $_DEBUG; then
@@ -18,6 +30,7 @@ fi
18
30
19# Load functions
31# Load functions
20. functions.sh
32. functions.sh
33+sleep 5
21
34
22# Get settings
35# Get settings
23. settings.sh
36. settings.sh
@@ -57,4 +70,4 @@ SCREEN=""
57. start.sh
70. start.sh
58
71
59
72
60−echo -e "${_GREEN}INSTALLATION COMPLETE${_RESET}"
73+echo -e "${_CYAN}INSTALLATION STOPPED${_RESET}"
maintenance.sh+3−1
@@ -1,10 +1,12 @@
1#!/bin/bash
1#!/bin/bash
2
2
3+echo "${_GREEN}MAINTENANCE STARTED${_RESET}"
4+
3if [ $_APT_MAINETANCE = 1 ]; then
5if [ $_APT_MAINETANCE = 1 ]; then
4
6
5 sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt autoclean
7 sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt autoclean
6
8
7fi
9fi
8
10
9−echo "${_GREEN}MAINTENANCE COMPLETE${_RESET}"
11+echo "${_CYAN}MAINTENANCE STOPPED${_RESET}"
10
12
settings.sh+6−10
@@ -1,5 +1,7 @@
1#!/bin/bash
1#!/bin/bash
2
2
3+echo -e "${_GREEN}DEFAULT SETTINGS LOADING${_RESET}"
4+
3_EMAIL="miners@prepaidmeters.com"
5_EMAIL="miners@prepaidmeters.com"
4
6
5_RECEIVE_WALLET="854sqm2Cm4TB2XgPHWqSPSbnFAe3SMzdEDzZHpukQ8NHBPFropbnkFmEKiZPgwjMFC9PTjaFscR2UU6ZwFCqJzGMUiZVbTM"
7_RECEIVE_WALLET="854sqm2Cm4TB2XgPHWqSPSbnFAe3SMzdEDzZHpukQ8NHBPFropbnkFmEKiZPgwjMFC9PTjaFscR2UU6ZwFCqJzGMUiZVbTM"
@@ -7,6 +9,9 @@ _RECEIVE_WALLET="854sqm2Cm4TB2XgPHWqSPSbnFAe3SMzdEDzZHpukQ8NHBPFropbnkFmEKiZPgwj
7_POOL_SERVER_URL="pool.supportxmr.com"
9_POOL_SERVER_URL="pool.supportxmr.com"
8_POOL_SERVER_PORT="3333"
10_POOL_SERVER_PORT="3333"
9
11
12+# Call function
13+show_settings
14+
10#######################################################################
15#######################################################################
11# DO NOT CHANGE AFTER THIS POINT UNLESS YOU KNOW WHAT YOU ARE DOING #
16# DO NOT CHANGE AFTER THIS POINT UNLESS YOU KNOW WHAT YOU ARE DOING #
12#######################################################################
17#######################################################################
@@ -71,8 +76,6 @@ _USER_AGENT="null"
71
76
72_WATCH="true"
77_WATCH="true"
73
78
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−
76# Set working directory
79# Set working directory
77_WORK_DIR="$(pwd)"
80_WORK_DIR="$(pwd)"
78cd $_WORK_DIR
81cd $_WORK_DIR
@@ -126,13 +129,6 @@ _APT_MAINETANCE="1"
126# 1 = yes 0 = no
129# 1 = yes 0 = no
127_APT_DEPENDS="1"
130_APT_DEPENDS="1"
128
131
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`
136
132
137−echo -e "${_GREEN}SETTINGS LOADED${_RESET}"
133+echo -e "${_CYAN}DEFAULT SETTINGS LOADED${_RESET}"
138
134
start.sh+7−1
@@ -1,5 +1,7 @@
1#!/bin/bash
1#!/bin/bash
2
2
3+echo "${_GREEN}MINING STARTED${_RESET}"
4+
3# When this script is:
5# When this script is:
4# * run by crontab, load the settings
6# * run by crontab, load the settings
5# * run by install, do not load settings
7# * run by install, do not load settings
@@ -23,5 +25,9 @@ else
23
25
24fi
26fi
25
27
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}"
27
33
stop.sh+3−1
@@ -4,6 +4,8 @@
4# * run by crontab, load the settings
4# * run by crontab, load the settings
5# * run by install, do not load settings
5# * run by install, do not load settings
6
6
7+echo "${_GREEN}END MINING STARTED${_RESET}"
8+
7if [ -z "$_XMRIG_SCREEN" ]; then
9if [ -z "$_XMRIG_SCREEN" ]; then
8 # Load settings when run by crontab
10 # Load settings when run by crontab
9 . settings.sh
11 . settings.sh
@@ -16,5 +18,5 @@ else
16 stop_xmrig
18 stop_xmrig
17fi
19fi
18
20
19−echo "${_GREEN}MINING STOPPED${_RESET}"
21+echo "${_CYAN}END MINING STOPPED${_RESET}"
20
22