76 lines
2.1 KiB
Bash
76 lines
2.1 KiB
Bash
####################
|
|
### PREPARE VARS ###
|
|
####################
|
|
|
|
FULLNAME=$(hostname).$(hostname --domain)
|
|
USERIP=$(echo ${SSH_CONNECTION%% *})
|
|
LOC=$(curl -s ipinfo.io/$USERIP/city)
|
|
COUNTRY=$(curl -s ipinfo.io/$USERIP/country)
|
|
ISP=$(curl -s ipinfo.io/$USERIP/org)
|
|
|
|
# --- RÉCUPÉRATION DES DATAS ---
|
|
# RAM
|
|
M_INFO=$(free -m | awk '/Mem:/ { printf "%d %d", $2, $3 }')
|
|
read -r M_TOT M_USE <<< "$M_INFO"
|
|
M_PCT=$((M_USE * 100 / M_TOT))
|
|
|
|
# DISQUE (Sur la partition racine /)
|
|
D_PCT=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
|
|
|
|
# --- LA FONCTION DE DESSIN ---
|
|
# Usage: draw_bar <pourcentage> <couleur>
|
|
draw_bar() {
|
|
local pct=$1
|
|
local color=$2
|
|
local size=30
|
|
local filled=$((pct * size / 100))
|
|
local empty=$((size - filled))
|
|
|
|
printf "["
|
|
echo -ne "${color}"
|
|
for i in $(seq 1 $filled); do echo -ne "■"; done
|
|
echo -ne "${G1}"
|
|
for i in $(seq 1 $empty); do echo -ne "·"; done
|
|
echo -ne "${NC}] ${pct}%"
|
|
}
|
|
|
|
|
|
# GET UPTIME
|
|
upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)"
|
|
secs=$((${upSeconds}%60))
|
|
mins=$((${upSeconds}/60%60))
|
|
hours=$((${upSeconds}/3600%24))
|
|
days=$((${upSeconds}/86400))
|
|
UPTIME=`printf "%d days, %02dhours %02dmin %02dsec" "$days" "$hours" "$mins" "$secs"`
|
|
|
|
# GET IP
|
|
IP=`hostname -I`
|
|
|
|
# GET MEMORY
|
|
MEMTOTAL=`awk '/MemTotal/ { printf "%.3f \n", $2/1024/1024 }' /proc/meminfo`
|
|
MEMFREE=`awk '/MemFree/ { printf "%.3f \n", $2/1024/1024 }' /proc/meminfo`
|
|
MEMUSED=`awk "BEGIN {print ${MEMTOTAL}-${MEMFREE}; exit}"`
|
|
|
|
#GET LOAD
|
|
read ONE FIVE FIFTEEN REST < /proc/loadavg
|
|
|
|
# GET LINUX VERSION
|
|
if [ -z "$DISTRIB_DESCRIPTION" ] && [ -x /usr/bin/lsb_release ]; then
|
|
# Fall back to using the very slow lsb_release utility
|
|
DISTRIB_DESCRIPTION=$(lsb_release -s -d)
|
|
fi
|
|
re='(.*\()(.*)(\).*)'
|
|
if [[ $DISTRIB_DESCRIPTION =~ $re ]]; then
|
|
DISTRIB_DESCRIPTION=$(printf "%s%s%s%s%s" "${BASH_REMATCH[1]}" "${YELLOW}" "${BASH_REMATCH[2]}" "${NONE}" "${BASH_REMATCH[3]}")
|
|
fi
|
|
VERSION=`echo -e $DISTRIB_DESCRIPTION`
|
|
|
|
#VERSION=`echo -e $DISTRIB_DESCRIPTION "(kernel "$(uname -r)")\n"`
|
|
|
|
#SYSTEM NAME
|
|
SYSTEMNAME=$(cat /etc/os-release)
|
|
|
|
# USERS
|
|
NBUSERS=$(awk -F: '$3 >= 1000 && $7 !~ /(nologin|false)/ {count++} END {print count+1}' /etc/passwd)
|
|
#NBCONN=$(who | wc -l)
|