@@ -1,5 +1,5 @@
11# xmrig-bash-scripts
2−A simple collection of bash shell scripts to manage installation, update and configuration of [xmrig cpu](https://github.com/xmrig/xmrig) across multiple hosts.
2+A set of convenience scripts, written in bash, to help manage installation, configuration and update of [xmrig cpu](https://github.com/xmrig/xmrig) across multiple hosts.
33
44
55## Download
@@ -8,48 +8,112 @@ A simple collection of bash shell scripts to manage installation, update and con
88
99### Prerequisites
1010
11−* Ubuntu Linux (or other Debian-based distribution)
11+There is allot to install so the install script will do most of the heavy lifting.
12+At the start the expectation is that you have:
13+* Computer running Ubuntu 18.04 (LTS)
14+* Bash shell
1215* User account with sudo privileges
16+* Installed git
17+* Optionally installed [xmrig-proxy](https://github.com/xmrig/xmrig-proxy)
1318
14−### Installion
19+### Agreeable
1520
16−1. Change in to the cloned directory
17− `cd xmrig-bash-scripts`
21+Some knowledge of:
22+* Linux Command Line Interface
23+* Linux shell `bash`
1824
19−2. Edit the settings file to your preference.
20− `vim settings.sh`
25+### Installation
2126
22−3. Run the install script
27+1. Change to your user home directory.
28+ `cd ~`
29+1. Install git.
30+ `sudo apt install git`
31+1. Clone this project.
32+ `git clone https://github.com/seanwhe/xmrig-bash-scripts`
33+1. Change into the cloned directory.
34+ `cd xmrig-bash-scripts`
35+1. Run the install script
2336 `./install.sh`
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.
45+ `screen -r`
46+
47+### Operation
48+
49+Defaults - 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.
50+
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'.
54+
55+This should work out the box, if you follow the installation steps and enter your own values for 'mysettings.sh.
56+
57+Once you have a running xmrig then you can start playing around and tweaking to suite requirements.
58+
59+What follows is a brief of the shell scripts you will find. The names are mostly self explanatory.
60+Comments and notes are used liberally in the scripts to help give you hints as to how it works.
61+The scripts are designed to be modular to promote resuse, execute exclusion and standalone execution.
62+
63+* build.sh - clones xmrig to ``~/xmrig-bash-scripts`/xmrig-cpu`, configures, builds and copies xmrig to `/usr/bin/`
64+* config.sh - contains variables that aid in defining the values for the attributes found in config.json.
65+* crontab.sh - installs a cron to start and a cron to stop at specific times (Can be commented out of install if desired).
66+* crontab-off - removed the users crontab created during install.
67+* crontab-on.sh - redefines the users crontab as created during install.
68+* depends.sh - installs dependancies required by xmrig and these scripts.
69+* functions.sh - a collection of functions used in various of the scripts.
70+* input.sh - prompts to enter values for creating 'mysettings.sh'
71+* install.sh - the main entry point when first installing.
72+* maintenance.sh - performs apt update, upgrade, autoremove and autoclean operations.
73+* settings.sh - contains variables used by these scripts.
74+* start.sh - starts xmrig in a screen session.
75+* stop.sh - stops xmrig screen session.
76+
77+### Viewing the log
78+Default of the start script is to create a screen session named 'xmrig-cpu'.
79+This can be changed in the settings script if required.
80+To view the log after installation is finished or after running the start script, used the following command:
81+`screen -r xmrig-cpu`
2482
25−The install script do the following:
26−1. Load the settings ensuring that your user has passwordless sudo and that vm.nr_hugepages is set.
27−2. Stop any existing screen session runing xmrig.
28−3. Run apt update, upgrade, autoremove, autoclean on system.
29−4. Install required build dependencies.
30−5. Git clone xmrig source to ~/xmrig-bash-scripts/xmrig-cpui/ and change to specified branch
31−6. Build and install xmrig to /usr/bin
32−7. Start a screen named xmrig-cpu running xmrig
83+### Updating
84+A simple `git update` in `~/xmrig-bash-scripts` will update these scripts.
3385
34−## Viewing mining process
35−`screen -r xmrig-cpu`
86+The install script can be run at any time to update the xmrig source found `~/xmrig-bash-scripts/xmrig-cpu`.
87+The branch checkout is taken from the `_XMRIG_BRANCH` variable in `settings.sh`.
3688
37−Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us.
89+A script named update.sh is provided to perform both these steps in a single command.
90+
91+## Reporting issues
92+
93+[xmrig cpu](https://github.com/xmrig/xmrig) and [xmrig bash scripts](https://github.com/seanwhe/xmrig-bash-scripts.git) are different projects run by different people.
94+
95+While the developers of both projects may be seen interacting with one another on either project, we ask that you report issues to the respective projects.
96+In other words, post issues for:
97+* xmrig, the Monero (XMR) CPU miner, over at [xmrig issues tracker](https://github.com/xmrig/xmrig/issues)
98+* xmrig-bash-scripts, these conveniece scripts, over at [xmrig-bash-scripts](https://github.com/seanwhe/xmrig-bash-scripts/issues)
3899
39100## Versioning
40101
41102We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/seanwhe/xmrig-bash-scripts/tags).
42103
104+## Contributing
105+Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us.
106+
107+See also the list of [contributors](https://github.com/seanwhe/xmrig-bash-scripts/CONTRIBUTORS)
108+
43109## Authors
44110
45111* **Sean Wheller** - *Initial work* - [seanwhe](https://github.com/seanwhe)
46112
47−See also the list of [contributors](https://github.com/seanwhe/xmrig-bash-scripts/CONTRIBUTORS
48−
49113## License
50114
51115This project is licensed under the GNU General Public License v3.0 - see the [LICENSE.md](LICENSE.md) file for details
52116
53117## Acknowledgments
54118
55−* Thanks to [fireice-uk](https://github.com/fireice-uk) for developing and maintaining xmrig
119+* Thanks to [fireice-uk](https://github.com/fireice-uk) for developing and maintaining [xmrig products](https://xmrig.com/).