@@ -0,0 +1,93 @@
1+#!/bin/bash
2+
3+echo "#################################"
4+echo " LOADING SETTINGS "
5+echo "#################################"
6+
7+# Set working directory
8+_WORK_DIR="$(pwd)"
9+cd $_WORK_DIR
10+echo -e "Working directory: $_WORK_DIR\n"
11+
12+# Set repository from which to get the source
13+_XMRIG_REPO="https://github.com/xmrig/xmrig.git"
14+echo -e "Git source repo: $_XMRIG_REPO\n"
15+
16+# Set name of folder to create when cloning from REPO
17+_XMRIG_CLONE="xmrig-cpu"
18+echo -e "Source folder name: $_XMRIG_CLONE\n"
19+
20+# Set clone directory path
21+_XMRIG_CLONE_LOCATION="$_WORK_DIR/$_XMRIG_CLONE"
22+echo -e "Source folder location: $_XMRIG_CLONE_LOCATION\n"
23+
24+# Set branch from which to build
25+_XMRIG_BRANCH="beta"
26+echo -e "Build branch: $_XMRIG_BRANCH\n"
27+
28+# Set build directory
29+_XMRIG_BUILD="build"
30+echo -e "Build directory: $_XMRIG_BUILD\n"
31+
32+# Set build directory location
33+_XMRIG_BUILD_LOCATION="$_XMRIG_CLONE_LOCATION/$_XMRIG_BUILD"
34+echo -e "Build directory location: $_XMRIG_BUILD_LOCATION\n"
35+
36+# Set where to install binary
37+_XMRIG_TARGET_LOCATION="/usr/bin/"
38+echo -e "Install path: $_XMRIG_TARGET_LOCATION\n"
39+
40+# Set the config file name
41+_XMRIG_CONFIG="config.json"
42+echo -e "Config file: $_XMRIG_CONFIG\n"
43+
44+# Set config location
45+_XMRIG_CONFIG_LOCATION="$_WORK_DIR/$_XMRIG_CONFIG"
46+echo -e "Config file location: $_XMRIG_CONFIG_LOCATION\n"
47+
48+# Set values for crontab
49+_USER_CRONSTART="18"
50+_USER_CRONSTOP="6"
51+_USER_CRONDAYS="1-5"
52+echo -e "Cron job start: $_USER_CRONSTART\n"
53+echo -e "Cron job stop: $_USER_CRONSTOP\n"
54+echo -e "Cron on days: $_USER_CRONDAYS\n"
55+
56+# Set the name of the screen created by start script
57+_XMRIG_SCREEN="xmrig-cpu"
58+echo -e "Screen session name: $_XMRIG_SCREEN\n"
59+
60+# Get number of available CPU Cores
61+_ENV_CORE=$(nproc --all)
62+echo -e "CPU Cores: $_ENV_CORE\n"
63+
64+# Set that user passwdless sudo
65+#sudo grep $USER /etc/sudoers.d/README
66+
67+if sudo grep -q $USER /etc/sudoers.d/README; then
68+ echo -e "User $USER found in /etc/sudoers.d/README. All good!!\n"
69+else
70+ echo -e "$USER does not have passwdles sudo. Fixing that!!\n"
71+ echo "$USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/README
72+fi
73+
74+# Check that hugepages set in /etc/sysctl.conf
75+_ENV_CHECK="nr_hugepages"
76+
77+if sudo grep -q $_ENV_CHECK /etc/sysctl.conf; then
78+ echo "Found nr_hugepages in /etc/sysctl.conf. All good!!"
79+ echo -e "Refreshing sysctl configuration just to be sure.\n"
80+ sudo sysctl -p
81+else
82+ # Set value in current env
83+ echo -e "Did not find nr_hugepages in /etc/sysctl.conf. Fixing that!!\n"
84+ sudo sysctl -w vm.nr_hugepages="$_ENV_CORE"
85+
86+ # Add value to sysctl
87+ echo "vm.nr_hugepages=$_ENV_CORE" | sudo tee -a /etc/sysctl.conf
88+fi
89+
90+echo "#################################"
91+echo " SETTINGS LOADED"
92+echo "#################################"
93+