Linux_frogg-profile.d/inc/vars.sh

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)