git.iko.soy/xmrig-bash-scripts
on master help sign in
16 files changed+192−116
since splitsnapshots
unifiedsplit
.gitignore+1 README.md+18−17 build.sh+3−1 config.sh+3−1 crontab-off.sh+3−1 crontab-on.sh+3−1 crontab.sh+5−2 depends.sh+4−2 functions.sh+27−8 input.sh+29−28 install.sh+19−17 maintenance.sh+4−2 settings.sh+26−25 start.sh+41−9 stop.sh+3−1 update.sh+3−1
.gitignore+1
@@ -1,6 +1,7 @@
11xmrig-cpu/
22*.swp
33crontab
4+null
45config.json
56myconfig.json
67mysettings.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 "${_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+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 "${_GREEN}CRONTAB CREATED${_RESET}"
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 "${_GREEN}DEPENDENCIES INSTALLED${_RESET}"
17+echo "${_CYAN}INSTALL DEPENDS STOPPED${_RESET}"
functions.sh+27−8
@@ -1,5 +1,7 @@
11#!/bin/bash
22
3+echo -e "${_GREEN}LOADING FUNCTIONS${_RESET}"
4+
35function prompt_confirm() {
46 while true; do
57 read -r -n 1 -p "${1:-Continue?} [y/n]: " REPLY
@@ -11,18 +13,35 @@ function prompt_confirm() {
1113 done
1214}
1315
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+
1423function 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 () {
1534 if [ -f $_WORK_DIR/$_MYSETTINGS_FILE ]; then
1635 . $_MYSETTINGS_FILE
17− echo "${_CYAN}Settings from loaded from mysettings.sh.${_RESET}"
18− echo "${_GREEN}Pool URL:${_RESET}: $_POOL_SERVER_URL"
19− echo "${_GREEN}Pool Port:${_RESET}: $_POOL_SERVER_PORT"
20− echo "${_GREEN}Recieve Wallet:${_RESET}: $_RECEIVE_WALLET"
21− echo "${_GREEN}Email Address:${_RESET}: $_EMAIL"
22− echo "${_GREEN}Worker Identity:${_RESET}: $_API_WORKER_ID"
2336 fi
2437}
2538
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+
2645function build_xmrig () {
2746 if [ -d $_XMRIG_BUILD_LOCATION ]; then
2847 # Remove existing build directory
@@ -39,7 +58,7 @@ function build_xmrig () {
3958 cd $_XMRIG_BUILD_LOCATION
4059
4160 # Configure cmake scafolding
42− cmake .. -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
61+ cmake ..
4362
4463 # Compile the software
4564 make
@@ -103,4 +122,4 @@ function calc_hugepages () {
103122
104123}
105124
106−echo -e "${_GREEN}FUNCTIONS LOADED${_RESET}"
125+echo -e "${_CYAN}FUNCTIONS LOADED${_RESET}"
input.sh+29−28
@@ -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
@@ -30,31 +36,26 @@ else
3036
3137 # Prompt user input
3238
33− echo "Current pool URL: $_POOL_SERVER_URL"
34− read -p "Enter new pool URL: " _POOL_SERVER_URL
35−
36− echo "Current pool TCP Port: $_POOL_SERVER_PORT"
37− read -p "Enter new pool TCP Port: " _POOL_SERVER_PORT
38−
39− echo "Current Receive Wallet address: $_RECEIVE_WALLET"
40− read -p "Enter new Receive Wallet address: " _RECEIVE_WALLET
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
4142
42− echo "Current email address: $_EMAIL"
43− read -p "Enter new email address: " _EMAIL
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
4446
45− echo "Current Miner Identifier: $_API_WORKER_ID"
46− read -p "Enter Miner Identifier: " _API_WORKER_ID
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
4750
48− # Write user input to file
51+ fi
52+
53+ # Call function
4954
50− echo "_POOL_SERVER_URL=\"$_POOL_SERVER_URL\"" >> $_MYSETTINGS_FILE_LOCATION
51− echo "_POOL_SERVER_PORT=\"$_POOL_SERVER_PORT\"" >> $_MYSETTINGS_FILE_LOCATION
52− echo "_RECEIVE_WALLET=\"$_RECEIVE_WALLET\"" >> $_MYSETTINGS_FILE_LOCATION
53− echo "_EMAIL=\"$_EMAIL\"" >> $_MYSETTINGS_FILE_LOCATION
54− echo "_API_WORKER_ID=\"$_API_WORKER_ID\"" >> $_MYSETTINGS_FILE_LOCATION
55+ load_mysettings
5556
56− fi
57+ my_config_json
5758
5859fi
5960
60−echo -e "${_GREEN}MYSETTINGS LOADED${_RESET}"
61+echo "${_CYAN}USER SETTINGS STOPPED${_RESET}"
install.sh+19−17
@@ -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
@@ -21,34 +33,24 @@ fi
2133
2234# Get settings
2335. settings.sh
24−sleep 5
25−
26−# User input
27−. input.sh
28−sleep 5
29−
30−# Stop running instance
31−. stop.sh
3236
3337# Update system
3438. maintenance.sh
35−sleep 5
3639
3740# Install dependencies
3841. depends.sh
39−sleep 5
42+
43+# User input
44+. input.sh
45+
46+# Stop running instance
47+. stop.sh
4048
4149# Get source and build by sourcing our build file
4250. build.sh
43−sleep 5
4451
4552# Create a config.json
4653. config.sh
47−sleep 5
48−
49−# Setup crontab for user
50−. crontab.sh
51−sleep 5
5254
5355# Unset REPO variable so start script will execute program
5456SCREEN=""
@@ -57,4 +59,4 @@ SCREEN=""
5759. start.sh
5860
5961
60−echo -e "${_GREEN}INSTALLATION COMPLETE${_RESET}"
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 "${_GREEN}MAINTENANCE COMPLETE${_RESET}"
11+echo "${_CYAN}MAINTENANCE STOPPED${_RESET}"
1012
settings.sh+26−25
@@ -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="pool.supportxmr.com"
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"
@@ -111,8 +119,8 @@ _XMRIG_CONFIG="config.json"
111119_XMRIG_CONFIG_LOCATION="$_WORK_DIR/$_XMRIG_CONFIG"
112120
113121# Set values for crontab
114−_USER_CRONSTART="18"
115−_USER_CRONSTOP="6"
122+_USER_CRONSTART="17"
123+_USER_CRONSTOP="8"
116124_USER_CRONDAYS="1-5"
117125
118126# Set the name of the screen created by start script
@@ -126,13 +134,6 @@ _APT_MAINETANCE="1"
126134# 1 = yes 0 = no
127135_APT_DEPENDS="1"
128136
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`
136137
137−echo -e "${_GREEN}SETTINGS LOADED${_RESET}"
138+echo -e "${_CYAN}DEFAULT SETTINGS LOADED${_RESET}"
138139
start.sh+41−9
@@ -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
@@ -8,20 +10,50 @@
810. functions.sh
911. settings.sh
1012
11−if ! screen -list | grep -q "$_XMRIG_SCREEN"; then
13+# if ! screen -list | grep -q "$_XMRIG_SCREEN"; then
1214
1315 # Call functions
16+ show_settings
1417 show_mysettings
15− start_xmrig
18+ # start_xmrig
1619
1720 # List screen
18− screen -ls
19−else
21+ # screen -ls
22+# else
2023
2124 # List screen
22− screen -ls
23−
24−fi
25−
26−echo "${_GREEN}MINING STARTED${_RESET}"
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}"
2759
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
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 "${_GREEN}UPDATE COMPLETE${_RESET}"
11+echo "${_CYAN}UPDATE COMPLETE${_RESET}"