git.iko.soy/xmrig-bash-scripts
on master help sign in
16 files changed+269−98
since splitsnapshots
unifiedsplit
.gitignore+3 README.md+18−17 build.sh+3−1 config.sh+3−1 crontab-off.sh+3−8 crontab-on.sh+3−7 crontab.sh+5−2 depends.sh+4−2 functions.sh+56−10 input.sh+61 install.sh+22−16 maintenance.sh+4−2 settings.sh+33−18 start.sh+45−12 stop.sh+3−1 update.sh+3−1
.gitignore+3
@@ -1,4 +1,7 @@
11xmrig-cpu/
22*.swp
33crontab
4+null
45config.json
6+myconfig.json
7+mysettings.sh
README.md+18−17
@@ -11,6 +11,7 @@ A set of convenience scripts, written in bash, to help manage installation, conf
1111There is allot to install so the install script will do most of the heavy lifting.
1212At the start the expectation is that you have:
1313* Computer running Ubuntu 18.04 (LTS)
14+* Bash shell
1415* User account with sudo privileges
1516* Installed git
1617* Optionally installed [xmrig-proxy](https://github.com/xmrig/xmrig-proxy)
@@ -21,38 +22,37 @@ Some knowledge of:
2122* Linux Command Line Interface
2223* Linux shell `bash`
2324
24−There is more to install but the install script will install the rest.
25−
2625### Installation
2726
28271. Change to your user home directory.
2928 `cd ~`
30−
31−2. Install git.
29+1. Install git.
3230 `sudo apt install git`
33−
34−3. Clone this project.
31+1. Clone this project.
3532 `git clone https://github.com/seanwhe/xmrig-bash-scripts`
36−
37−4. Change into the cloned directory.
33+1. Change into the cloned directory.
3834 `cd xmrig-bash-scripts`
39−
40−5. Edit the settings file to your preference.
41− `vim settings.sh`
42−
43−6. Run the install script
35+1. Run the install script
4436 `./install.sh`
45−
46−7. After install is complete. Attach to the screen session created during the installation.
37+1. When prompted: "Enter your own settings?" enter 'y'es.
38+1. Enter values for your:
39+ 1. Pool server URL
40+ 1. Pool server TCP port
41+ 1. Receive wallet address
42+ 1. Email address
43+ 1. Miner identifier name
44+1. After install is complete. Attach to the screen session created during the installation.
4745 `screen -r`
4846
4947### Operation
5048
5149Defaults - The settings.sh contains a number of variables. With the exception of the 'xmrig' binary, which is installed to `/usr/bin/xmrig`, all files remain in the cloned project directory `~/xmrig-bash-scripts`. Any files generated while running the scripts are also created in this directory.
5250
53−During install the folder source for [xmrig cpu](https://github.com/xmrig/xmrig) is cloned to `~/xmrig-bash-scripts/xmrig-cpu/`. The `config.json` is also created in this path.
51+During install the folder source for [xmrig cpu](https://github.com/xmrig/xmrig) is cloned to `~/xmrig-bash-scripts/xmrig-cpu/`. The file `config.json`, used to configure xmrig, is also created in this path and is passed to xmrig at startup.
52+
53+During installation it is recomended to enter your own settings. This creates a file named 'mysettings.sh' which will not be overwritten during future installs or upgrades. Values for variables found in 'mysettings.sh' are used to create 'config.json'.
5454
55−This should work out the box, if you edit only the top section of `settings.sh` and followed the steps here.
55+This should work out the box, if you follow the installation steps and enter your own values for 'mysettings.sh.
5656
5757Once you have a running xmrig then you can start playing around and tweaking to suite requirements.
5858
@@ -67,6 +67,7 @@ The scripts are designed to be modular to promote resuse, execute exclusion and
6767* crontab-on.sh - redefines the users crontab as created during install.
6868* depends.sh - installs dependancies required by xmrig and these scripts.
6969* functions.sh - a collection of functions used in various of the scripts.
70+* input.sh - prompts to enter values for creating 'mysettings.sh'
7071* install.sh - the main entry point when first installing.
7172* maintenance.sh - performs apt update, upgrade, autoremove and autoclean operations.
7273* settings.sh - contains variables used by these scripts.
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 "BUILD COMPLETE"
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 "CONFIG CREATED"
7+echo "${_CYAN}CONFIG STOPPED${_RESET}"
68
crontab-off.sh+3−8
@@ -1,15 +1,12 @@
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
68# off - do not start/stop xmrig
79
8−echo "#################################"
9−echo "# DISABLING CRONTAB #"
10−echo "#################################"
11−
12−
1310# Remove existing crontab
1411echo "Backup existing crontab"
1512crontab -l > crontab
@@ -17,7 +14,5 @@ crontab -l > crontab
1714echo "Removing exiting crontab"
1815crontab -r
1916
20−echo "#################################"
21−echo "# CRONTAB DISABLED #"
22−echo "#################################"
17+echo "${_CYAN}DISABLE CRONTAB STOPPED${_RESET}"
2318
crontab-on.sh+3−7
@@ -1,14 +1,12 @@
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
68# off - do not start/stop xmrig
79
8−echo "####################################"
9−echo "# ENABLING CRONTAB #"
10−echo "####################################"
11−
1210# Get settings
1311. settings.sh
1412. functions.sh
@@ -18,7 +16,5 @@ sleep 5
1816. crontab.sh
1917sleep 5
2018
21−echo "####################################"
22−echo "# CRONTAB ENABLED #"
23−echo "####################################"
19+echo "${_CYAN}ENABLE CRONTAB STOPPED${_RESET}"
2420
crontab.sh+5−2
@@ -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
@@ -9,11 +12,11 @@ crontab -r
912
1013# Setup users contab
1114
12−crontab -l | { cat; echo "#Start at $_USER_TIMESTART on days $_USER_CRONDAYS
15+crontab -l | { cat; echo "#Start at $_USER_CRONSTART on days $_USER_CRONDAYS
13160 $_USER_CRONSTART * * $_USER_CRONDAYS screen -dmS $_XMRIG_SCREEN xmrig --config=$_XMRIG_CONFIG_LOCATION"; } | crontab -
1417
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 "CRONTAB CREATED"
21+echo "${_CYAN}CRONTAB STOPPED${_RESET}"
1922
depends.sh+4−2
@@ -2,7 +2,9 @@
22
33# Install the software requirements
44
5−if [ $_APT_DEPENDS = 1 ]; then
5+echo "${_GREEN}INSTALL DEPENDS STARTED${_RESET}"
6+
7+if [ "$_APT_DEPENDS" -eq "1" ]; then
68
79 # Install xmrig depends
810 sudo apt install -y software-properties-common git build-essential cmake libuv1-dev libssl-dev libmicrohttpd-dev libhwloc-dev gcc g++
@@ -12,4 +14,4 @@ if [ $_APT_DEPENDS = 1 ]; then
1214
1315fi
1416
15−echo "DEPENDENCIES INSTALLED"
17+echo "${_CYAN}INSTALL DEPENDS STOPPED${_RESET}"
functions.sh+56−10
@@ -1,6 +1,48 @@
11#!/bin/bash
22
3−build_xmrig () {
3+echo -e "${_GREEN}LOADING FUNCTIONS${_RESET}"
4+
5+function prompt_confirm() {
6+ while true; do
7+ read -r -n 1 -p "${1:-Continue?} [y/n]: " REPLY
8+ case $REPLY in
9+ [yY]) echo ; return 0 ;;
10+ [nN]) echo ; return 1 ;;
11+ *) printf " \033[31m %s \n\033[0m" "invalid input [y/n]"
12+ esac
13+ done
14+}
15+
16+function show_settings () {
17+ echo "${_CYAN}Settings from loaded environment:${_RESET}"
18+ echo "${_GREEN}Pool URL:${_RESET}: $_POOLS_URL"
19+ echo "${_GREEN}Recieve Wallet:${_RESET}: $_POOLS_USER"
20+ echo "${_GREEN}Email Address:${_RESET}: $_POOLS_PASS"
21+}
22+
23+function show_mysettings () {
24+ if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
25+ load_mysettings
26+ echo "${_CYAN}Settings from mysettings.sh:${_RESET}"
27+ echo "${_GREEN}Pool URL:${_RESET}: $_POOLS_URL"
28+ echo "${_GREEN}Recieve Wallet:${_RESET}: $_POOLS_USER"
29+ echo "${_GREEN}Email Address:${_RESET}: $_POOLS_PASS"
30+ fi
31+}
32+
33+function load_mysettings () {
34+ if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
35+ . $_MYSETTINGS_FILE
36+ fi
37+}
38+
39+function my_config_json () {
40+
41+ _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) opencl=$(jo enabled=$_OPENCL_ENABLED cache=$_OPENCL_CACHE loader=$_OPENCL_LOADER platform=$_OPENCL_PLATFORM) 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) log-file=$_LOG_FILE 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)
42+
43+}
44+
45+function build_xmrig () {
446 if [ -d $_XMRIG_BUILD_LOCATION ]; then
547 # Remove existing build directory
648 rm -rf $_XMRIG_BUILD_LOCATION
@@ -16,23 +58,23 @@ build_xmrig () {
1658 cd $_XMRIG_BUILD_LOCATION
1759
1860 # Configure cmake scafolding
19− cmake .. -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
61+ cmake ..
2062
2163 # Compile the software
2264 make
2365}
2466
2567
26−start_xmrig () {
68+function start_xmrig () {
2769 screen -dmS $_XMRIG_SCREEN xmrig --config=$_XMRIG_CONFIG_LOCATION
2870}
2971
3072
31−stop_xmrig () {
73+function stop_xmrig () {
3274 screen -S $_XMRIG_SCREEN -X kill
3375}
3476
35−check_cpu () {
77+function check_cpu () {
3678 # Check if CPU supports AES-NI
3779 cpuid | grep -i aes > hw-aes.txt
3880 if grep -q true "hw-aes.txt"; then
@@ -49,16 +91,20 @@ check_cpu () {
4991 _ENV_CORE_L3=$(getconf LEVEL3_CACHE_SIZE)
5092}
5193
52−calc_threads () {
94+function calc_threads () {
95+ # Each thread needs 2048 byte (2 Megabyte)
96+ # Calculate number of threads supported with L3 cache size
97+
98+ _ENV_THREAD_QTY=$(( ($_ENV_CORE_L3/2048)/1000 ))
5399
54100 # Affine number of threads for _CPU_CN
55− _COUNTER="$(( $_ENV_CORE-1 ))"
101+ _COUNTER="$(( $_ENV_THREAD_QTY-1 ))"
56102
57103 _ENV_CPU_THREAD_AFFINITY="$(seq -s " " 0 $_COUNTER)"
58104
59105}
60106
61−calc_hugepages () {
107+function calc_hugepages () {
62108 # Setting according to cpu cores but xmrig will not use all
63109 # change to make value use _ENV_CORE_THREADS
64110 # Check that hugepages set in /etc/sysctl.conf
@@ -69,11 +115,11 @@ calc_hugepages () {
69115 sudo sysctl -p
70116 else
71117 # Set value in current env
72− sudo sysctl -w vm.nr_hugepages="$_ENV_CORE"
118+ sudo sysctl -w vm.nr_hugepages="$_ENV_THREAD_QTY"
73119 # Add value to sysctl
74120 sudo sysctl -p
75121 fi
76122
77123}
78124
79−echo -e "FUNCTIONS LOADED\n\n"
125+echo -e "${_CYAN}FUNCTIONS LOADED${_RESET}"
input.shnew file+61
@@ -0,0 +1,61 @@
1+#!/bin/bash
2+
3+# Ask user questions
4+# Capture input
5+# if setting already exist use existing
6+
7+echo -e "${_GREEN}USER SETTINGS STARTED${_RESET}"
8+
9+if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
10+
11+ # Call function
12+
13+ load_mysettings
14+
15+ my_config_json
16+
17+else
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+
26+
27+ prompt_confirm "Enter your own settings?"
28+
29+ if [ "$?" -eq 0 ]; then
30+
31+ # Create a file
32+
33+ touch $_MYSETTINGS_FILE_LOCATION
34+ chmod +x $_MYSETTINGS_FILE_LOCATION
35+ echo "#!/bin/bash" > $_MYSETTINGS_FILE_LOCATION
36+
37+ # Prompt user input
38+
39+ echo "Current pool URL: $_POOLS_URL"
40+ read -p "Enter new pool URL: " _POOLS_URL
41+ echo "_POOLS_URL=\"$_POOLS_URL\"" >> $_MYSETTINGS_FILE_LOCATION
42+
43+ echo "Current Receive Wallet address: $_POOLS_USER"
44+ read -p "Enter new Receive Wallet address: " _POOLS_USER
45+ echo "_POOLS_USER=\"$_POOLS_USER\"" >> $_MYSETTINGS_FILE_LOCATION
46+
47+ echo "Current email address: $_POOLS_PASS"
48+ read -p "Enter new email address: " _POOLS_PASS
49+ echo "_POOLS_PASS=\"$_POOLS_PASS\"" >> $_MYSETTINGS_FILE_LOCATION
50+
51+ fi
52+
53+ # Call function
54+
55+ load_mysettings
56+
57+ my_config_json
58+
59+fi
60+
61+echo "${_CYAN}USER SETTINGS STOPPED${_RESET}"
install.sh+22−16
@@ -1,11 +1,23 @@
11#!/bin/bash
22
3−_DEBUG=true
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+
15+_DEBUG=$1
416
517if $_DEBUG; then
6− set -x
7−else
818 set +x
19+else
20+ set -x
921fi
1022
1123# Set that user passwdless sudo
@@ -21,30 +33,24 @@ fi
2133
2234# Get settings
2335. settings.sh
24−sleep 5
25−
26−# Stop running instance
27−. stop.sh
2836
2937# Update system
3038. maintenance.sh
31−sleep 5
3239
3340# Install dependencies
3441. depends.sh
35−sleep 5
42+
43+# User input
44+. input.sh
45+
46+# Stop running instance
47+. stop.sh
3648
3749# Get source and build by sourcing our build file
3850. build.sh
39−sleep 5
4051
4152# Create a config.json
4253. config.sh
43−sleep 5
44−
45−# Setup crontab for user
46−. crontab.sh
47−sleep 5
4854
4955# Unset REPO variable so start script will execute program
5056SCREEN=""
@@ -53,4 +59,4 @@ SCREEN=""
5359. start.sh
5460
5561
56−echo -e "INSTALLATION COMPLETE\n"
62+echo -e "${_CYAN}INSTALLATION COMPLETED${_RESET}"
maintenance.sh+4−2
@@ -1,10 +1,12 @@
11#!/bin/bash
22
3−if [ $_APT_MAINETANCE = 1 ]; then
3+echo "${_GREEN}MAINTENANCE STARTED${_RESET}"
4+
5+if [ "$_APT_MAINETANCE" -eq "1" ]; then
46
57 sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt autoclean
68
79fi
810
9−echo "MAINTENANCE COMPLETE"
11+echo "${_CYAN}MAINTENANCE STOPPED${_RESET}"
1012
settings.sh+33−18
@@ -1,17 +1,22 @@
11#!/bin/bash
22
3−_EMAIL="miners@prepaidmeters.com"
3+echo -e "${_GREEN}LOADING DEFAULT SETTINGS${_RESET}"
44
5−_RECEIVE_WALLET="854sqm2Cm4TB2XgPHWqSPSbnFAe3SMzdEDzZHpukQ8NHBPFropbnkFmEKiZPgwjMFC9PTjaFscR2UU6ZwFCqJzGMUiZVbTM"
5+_EMAIL="spam@iko.soy"
66
7−_POOL_SERVER_URL="192.168.4.5"
8−_POOL_SERVER_PORT="3333"
7+_RECEIVE_WALLET="44FADBDhNRvjJszF5mLS4VCwZ71mY7ftfUErEisPoT724hb5eYuvuFqWthniY8dGPBTcWuBoeLrLJVkxLHCb1Lsd4DdbZzZ"
8+
9+_POOL_SERVER_URL="xmrpool.eu"
10+_POOL_SERVER_PORT="5555"
11+
12+# Call function
13+show_settings
914
1015#######################################################################
1116# DO NOT CHANGE AFTER THIS POINT UNLESS YOU KNOW WHAT YOU ARE DOING #
1217#######################################################################
1318
14−_API_ID="null"
19+_API_ID='null'
1520_API_WORKER_ID="$HOSTNAME"
1621
1722_AUTOSAVE="true"
@@ -29,24 +34,29 @@ calc_threads
2934_CPU_ENABLED="true"
3035_CPU_HUGE_PAGES="true"
3136_CPU_HW_AES="$_AES_NI"
32−_CPU_PRIORITY="null"
37+_CPU_PRIORITY='null'
3338_CPU_ASM="true"
3439_CPU_CN="$_ENV_CPU_THREAD_AFFINITY"
3540
3641_CPU_CN_0="false"
3742_CPU_CN_LITE_0="false"
3843
39−_DONATE_LEVEL="5"
44+_OPENCL_ENABLED="false"
45+_OPENCL_CACHE="true"
46+_OPENCL_LOADER='null'
47+_OPENCL_PLATFORM="AMD"
48+
49+_DONATE_LEVEL="0"
4050
4151_DONATE_OVER_PROXY="1"
4252
4353_HTTP_ENABLED="true"
4454_HTTP_HOST=$(hostname --all-ip-addresses | awk '{print $1}')
4555_HTTP_PORT="8080"
46−_HTTP_ACCESS_TOKEN="null"
56+_HTTP_ACCESS_TOKEN='null'
4757_HTTP_RESTRICTED="false"
4858
49−_LOG_FILE="null"
59+_LOG_FILE='null'
5060
5161_POOLS_ALGO="cn/r"
5262_POOLS_URL="$_POOL_SERVER_URL:$_POOL_SERVER_PORT"
@@ -56,8 +66,8 @@ _POOLS_RIG_ID="$HOSTNAME"
5666_POOLS_NICEHASH="true"
5767_POOLS_KEEPALIVE="true"
5868_POOLS_ENABLED="true"
59−_POOLS_TLS="null"
60−_POOLS_TLS_FINDERPRINT="null"
69+_POOLS_TLS='null'
70+_POOLS_TLS_FINDERPRINT='null'
6171_POOLS_DAEMON="false"
6272
6373_PRINT_TIME="30"
@@ -67,12 +77,10 @@ _RETRIES_PAUSE="5"
6777
6878_SYSLOG="false"
6979
70−_USER_AGENT="null"
80+_USER_AGENT='null'
7181
7282_WATCH="true"
7383
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−
7684# Set working directory
7785_WORK_DIR="$(pwd)"
7886cd $_WORK_DIR
@@ -87,7 +95,7 @@ _XMRIG_CLONE="xmrig-cpu"
8795_XMRIG_CLONE_LOCATION="$_WORK_DIR/$_XMRIG_CLONE"
8896
8997# Set branch from which to build
90−_XMRIG_BRANCH="beta"
98+_XMRIG_BRANCH="master"
9199
92100# Set build directory
93101_XMRIG_BUILD="build"
@@ -98,6 +106,12 @@ _XMRIG_BUILD_LOCATION="$_XMRIG_CLONE_LOCATION/$_XMRIG_BUILD"
98106# Set where to install binary
99107_XMRIG_TARGET_LOCATION="/usr/bin/"
100108
109+# Set mysettings file
110+_MYSETTINGS_FILE="mysettings.sh"
111+
112+# Set mysettings file location
113+_MYSETTINGS_FILE_LOCATION="$_WORK_DIR/$_MYSETTINGS_FILE"
114+
101115# Set the config file name
102116_XMRIG_CONFIG="config.json"
103117
@@ -105,8 +119,8 @@ _XMRIG_CONFIG="config.json"
105119_XMRIG_CONFIG_LOCATION="$_WORK_DIR/$_XMRIG_CONFIG"
106120
107121# Set values for crontab
108−_USER_CRONSTART="18"
109−_USER_CRONSTOP="6"
122+_USER_CRONSTART="17"
123+_USER_CRONSTOP="8"
110124_USER_CRONDAYS="1-5"
111125
112126# Set the name of the screen created by start script
@@ -120,5 +134,6 @@ _APT_MAINETANCE="1"
120134# 1 = yes 0 = no
121135_APT_DEPENDS="1"
122136
123−echo -e "SETTINGS LOADED\n\n"
137+
138+echo -e "${_CYAN}DEFAULT SETTINGS LOADED${_RESET}"
124139
start.sh+45−12
@@ -1,26 +1,59 @@
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
68
79# Reload settings and functions for when running standalone
8−. settings.sh
910. functions.sh
11+. settings.sh
1012
11−if ! screen -list | grep -q "$_XMRIG_SCREEN"; then
12−
13− # Call function
14− start_xmrig
13+# if ! screen -list | grep -q "$_XMRIG_SCREEN"; then
14+
15+ # Call functions
16+ show_settings
17+ show_mysettings
18+ # start_xmrig
1519
1620 # List screen
17− screen -ls
18−else
21+ # screen -ls
22+# else
1923
2024 # List screen
21− screen -ls
22−
23−fi
24−
25−echo "MINING STARTED"
25+ # screen -ls
26+
27+# fi
28+echo "[Unit]" | sudo tee /etc/systemd/system/xmrig.service
29+echo "Description=XMRIG service" | sudo tee -a /etc/systemd/system/xmrig.service
30+echo "After=network.target" | sudo tee -a /etc/systemd/system/xmrig.service
31+echo "StartLimitIntervalSec=0" | sudo tee -a /etc/systemd/system/xmrig.service
32+echo "[Service]" | sudo tee -a /etc/systemd/system/xmrig.service
33+echo "Type=simple" | sudo tee -a /etc/systemd/system/xmrig.service
34+echo "Restart=always" | sudo tee -a /etc/systemd/system/xmrig.service
35+echo "RestartSec=3" | sudo tee -a /etc/systemd/system/xmrig.service
36+echo "User=root" | sudo tee -a /etc/systemd/system/xmrig.service
37+echo "ExecStart=$_XMRIG_BUILD_LOCATION/xmrig --config=$_XMRIG_CONFIG_LOCATION" | sudo tee -a /etc/systemd/system/xmrig.service
38+echo "" | sudo tee -a /etc/systemd/system/xmrig.service
39+echo "[Install]" | sudo tee -a /etc/systemd/system/xmrig.service
40+echo "WantedBy=multi-user.target" | sudo tee -a /etc/systemd/system/xmrig.service
41+
42+echo "STARTING XMRIG/SERVICES"
43+
44+sudo service logrotate start
45+sudo service ntp start
46+sudo service xmrig start
47+
48+echo "STARTING XMRIG/SERVICES @ BOOT"
49+
50+sudo systemctl enable logrotate
51+sudo systemctl enable ntp
52+sudo systemctl enable xmrig
53+
54+echo "${_CYAN}MINING RUNNING${_RESET}"
55+echo "${_YELLOW} The process is running in a screen session."
56+echo "${_YELLOW} The screen session is named:${_RESET} $_XMRIG_SCREEN"
57+echo "${_YELLOW} Command to view process:${_RESET} screen -r $_XMRIG_SCREEN"
58+echo "${_MAGENTA} ENJOY!!!${_RESET}"
2659
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 "MINING STOPPED"
21+echo "${_CYAN}END MINING STOPPED${_RESET}"
2022
update.sh+3−1
@@ -1,9 +1,11 @@
11#!/bin/bash
22
3+echo "${_GREEN}UPDATE STARTED${_RESET}"
4+
35git pull
46
57# install
68. install.sh
79sleep 5
810
9−echo "UPATE COMPLETE"
11+echo "${_CYAN}UPDATE COMPLETE${_RESET}"