73 lines
5.4 KiB
Markdown
73 lines
5.4 KiB
Markdown
<h1 align=center>Script Bash Statistics Linux Server
|
|
<h3 align="center">
|
|
<p>Bash script that allows to see the statistics of your Linux server by sending them to a webhook discord.</p>
|
|
<a href="https://www.buymeacoffee.com/ultralion" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png" alt="Buy Me A Coffee" " </a>
|
|
|
|
</h3>
|
|
<hr>
|
|
<h2>👨💻 Technologies used for this project</h2>
|
|
|
|

|
|
[](https://www.gnu.org/software/bash/)
|
|

|
|
|
|
<h2>📡 Objective</h2>
|
|
<p>The purpose of this project is to send statistics from a linux server to a webhook discord (see image below)</p>
|
|
<img src="https://i.imgur.com/APbUO1W.png">
|
|
|
|
<h2>📋 Functionality</h2>
|
|
|
|
- [X] A message is sent when the script is started with the command `./script.sh` or `bash script.sh`
|
|
- [X] Configurable message
|
|
|
|
<h2> 🚀 Getting started</h2>
|
|
|
|
1. `git clone https://github.com/UltraLionfr/statistics-discord-webhook-vps.git` & `cd statistics-discord-webhook-vps` -> `chmod +x script.sh`
|
|
|
|
2. **To start you need to install the following packages on your server**:
|
|
```bash
|
|
sudo apt-get update && sudo apt-get install -y ping procps procinfo lscpu curl coreutils lsb-release ifstat -y
|
|
```
|
|
|
|
3. **Changing the network interface** :<br>
|
|
At the line `network_bandwidth_usage` change `enp6s18` by your network interface.<br>
|
|
Do `ifconfig or ip addr` to find your network interface.
|
|
|
|
4. **Configuration of crontabe to have statistics every hour**:
|
|
```yml
|
|
sudo crontabe -e
|
|
```
|
|
```yml
|
|
# Edit this file to introduce tasks to be run by cron.
|
|
#
|
|
# Each task to run has to be defined through a single line
|
|
# indicating with different fields when the task will be run
|
|
# and what command to run for the task
|
|
#
|
|
# To define the time you can provide concrete values for
|
|
# minute (m), hour (h), day of month (dom), month (mon),
|
|
# and day of week (dow) or use '*' in these fields (for 'any').
|
|
#
|
|
# Notice that tasks will be started based on the cron's system
|
|
# daemon's notion of time and timezones.
|
|
#
|
|
# Output of the crontab jobs (including errors) is sent through
|
|
# email to the user the crontab file belongs to (unless redirected).
|
|
#
|
|
# For example, you can run a backup of all your user accounts
|
|
# at 5 a.m every week with:
|
|
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
|
|
0 * * * * /home/user/script.sh
|
|
# For more information see the manual pages of crontab(5) and cron(8)
|
|
#
|
|
# m h dom mon dow command
|
|
```
|
|
⚠️ Remember to replace the access path on the line `0 * * * * /home/user/script.sh` ⚠️
|
|
|
|
<h2>Credits</h2>
|
|
|
|
- Author : [UltraLion](https://github.com/UltraLionfr)
|
|
|
|
<hr>
|
|
<h6 align=center>Please fork this project if you use it and put a star ❤️.</h6>
|