Updated with better bash syntax, added customizeable VPS uptime.
This commit is contained in:
@@ -4,49 +4,57 @@
|
|||||||
# https://github.com/lfelipe1501/Arch-MOTD
|
# https://github.com/lfelipe1501/Arch-MOTD
|
||||||
# Modyfied by A. Rabjerg
|
# Modyfied by A. Rabjerg
|
||||||
|
|
||||||
|
#set -x
|
||||||
|
|
||||||
|
# Serveral thing can (should) be customized for your system, those will be marked by the text "EDIT ME"
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
MAIN_STORE="VG-home" # EDIT ME!
|
||||||
|
|
||||||
|
|
||||||
|
# Here you can define any VPS instances you would like info on. # EDIT ME
|
||||||
|
VPS_0_UP=""
|
||||||
|
#VPS_0_IP=127.0.0.1
|
||||||
|
#VPS_0_USER="Batman"
|
||||||
|
#VPS_0_PORT=1337
|
||||||
|
#VPS_0_DESC="Batcave mainframe, 512GB 144 Cores" # Text description of VPS
|
||||||
|
#VPS_0_UP=$(ssh -o connecttimeout=3 -p $VPS_0_port $VPS_0_USER@$VPS_0_IP uptime | awk '{print $3}')
|
||||||
|
|
||||||
#Define output file
|
|
||||||
|
|
||||||
# Collect information
|
# Collect information
|
||||||
#USERNAME=`$USER`
|
#USERNAME=$($USER)
|
||||||
HOSTNAME=`uname -n`
|
HOSTNAME=$(uname -n)
|
||||||
KERNEL=`uname -r`
|
KERNEL=$(uname -r)
|
||||||
CPU=`awk -F '[ :][ :]+' '/^model name/ { print $2; exit; }' /proc/cpuinfo`
|
CPU=$(awk -F '[ :][ :]+' '/^model name/ { print $2; exit; }' /proc/cpuinfo)
|
||||||
ARCH=`uname -m`
|
ARCH=$(uname -m)
|
||||||
DISCTOT=`df -h | grep VG-home | awk '{print $2"B" }'`
|
DISCTOT=$(df -h | grep $MAIN_STORE | awk '{print $2"B" }')
|
||||||
DISCFREE=`df -h | grep VG-home | awk '{print $4"B" }'`
|
DISCFREE=$(df -h | grep $MAIN_STORE | awk '{print $4"B" }')
|
||||||
MEMORY1=`free -t -h -m | grep "Mem" | awk '{print $7"B";}'`
|
MEMORY1=$(free -t -h -m | grep "Mem" | awk '{print $7"B";}')
|
||||||
MEMORY2=`free -t -h -m | grep "Mem" | awk '{print $2"B";}'`
|
MEMORY2=$(free -t -h -m | grep "Mem" | awk '{print $2"B";}')
|
||||||
|
|
||||||
# Get External IP, not a beautiful solution
|
# Get External IP, not a beautiful solution
|
||||||
# modify the grep in INTIP [wlp|enp] to fit the name of your interfaces
|
EXTIP=$(curl -s ipecho.net/plain)
|
||||||
EXTIP=`curl -s ipecho.net/plain`
|
INTIP=$(ip a s | grep -E "inet " | grep -E -m1 "eth0|wlan0" | awk '{print $2 " " $(NF)}') # EDIT ME, your interfaces might have a diffrenet name than eth0 or wlan0
|
||||||
INTIP=`ip addr show | grep -E -m 1 "inet.[0-2][0-9][0-9]\..{1,}[wlp|enp][0-9]{1,2}s[0-9]{1,2}$" | awk '{print $2}'`
|
LOCATION=$(curl -s "https://tools.keycdn.com/geo.json?host=$EXTIP" | awk -F ":" 'BEGIN { RS=","} {print $0'} | grep -E "city" | awk -F ":" '{print$2}')
|
||||||
LOCATION=`curl -s "https://tools.keycdn.com/geo.json?host=$EXTIP" | awk -F ":" 'BEGIN { RS=","} {print $0'} | grep -E "city" | awk -F ":" '{print$2}'`
|
# alternative "country_name" / "country_code" / "city"
|
||||||
|
|
||||||
|
|
||||||
#Time of day
|
#Time of day
|
||||||
HOUR=$(date +"%H")
|
HOUR=$(date +"%H")
|
||||||
if [ $HOUR -lt 12 -a $HOUR -ge 0 ]
|
|
||||||
then TIME="Morning"
|
|
||||||
elif [ $HOUR -lt 17 -a $HOUR -ge 12 ]
|
|
||||||
then TIME="Afternoon"
|
|
||||||
else TIME="Evening"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#System uptime
|
#System uptime
|
||||||
uptime=`cat /proc/uptime | cut -f1 -d.`
|
uptime=$(cat /proc/uptime | cut -f1 -d.)
|
||||||
upDays=$((uptime/60/60/24))
|
upDays=$((uptime/60/60/24))
|
||||||
upHours=$((uptime/60/60%24))
|
upHours=$((uptime/60/60%24))
|
||||||
upMins=$((uptime/60%60))
|
upMins=$((uptime/60%60))
|
||||||
upSecs=$((uptime%60))
|
upSecs=$((uptime%60))
|
||||||
|
|
||||||
#server uptime
|
#server uptime
|
||||||
# serverUp=$(ssh -o connecttimeout=3 -p 27272 b1@location uptime | awk '{print $5}')
|
|
||||||
|
|
||||||
#System load
|
#System load
|
||||||
LOAD1=`cat /proc/loadavg | awk {'print $1'}`
|
LOAD1=$(cat /proc/loadavg | awk {'print $1'})
|
||||||
LOAD5=`cat /proc/loadavg | awk {'print $2'}`
|
LOAD5=$(cat /proc/loadavg | awk {'print $2'})
|
||||||
LOAD15=`cat /proc/loadavg | awk {'print $3'}`
|
LOAD15=$(cat /proc/loadavg | awk {'print $3'})
|
||||||
|
|
||||||
#Color variable #W="\033[00;37m"
|
#Color variable #W="\033[00;37m"
|
||||||
W="\033[0m" #White
|
W="\033[0m" #White
|
||||||
@@ -61,7 +69,6 @@ Yb="\033[01;43m" #Background Yellow
|
|||||||
Blb="\033[01;100m" #Background Grey
|
Blb="\033[01;100m" #Background Grey
|
||||||
Bb="\033[01;44m" #Background Blue
|
Bb="\033[01;44m" #Background Blue
|
||||||
Yyb="\033[01;107m" #Background White
|
Yyb="\033[01;107m" #Background White
|
||||||
#N="\033[01;34m"
|
|
||||||
|
|
||||||
echo -e "$N---------------------------------------------------------------"
|
echo -e "$N---------------------------------------------------------------"
|
||||||
echo -e " "
|
echo -e " "
|
||||||
@@ -71,7 +78,7 @@ echo -e " $B$Bb $Wb $Bb $Wb $Yb $Blb $W$N Consulting, Training
|
|||||||
echo -e " $B$Bb $Wb $Bb $Wb $Blb $Wb$N Development & Support"
|
echo -e " $B$Bb $Wb $Bb $Wb $Blb $Wb$N Development & Support"
|
||||||
echo -e " $B$Bb $Wb $Yyb $Blb $Wb$N WWW.B1-SYSTEMS.DE"
|
echo -e " $B$Bb $Wb $Yyb $Blb $Wb$N WWW.B1-SYSTEMS.DE"
|
||||||
echo -e " $B$Bb $Wb $Bb $Wb $Yyb $Blb $Wb"
|
echo -e " $B$Bb $Wb $Bb $Wb $Yyb $Blb $Wb"
|
||||||
echo -e " $B$Bb $Wb $Bb $Wb $Yyb $Blb $Wb$N KERNEL :$W $KERNEL $ARCH"
|
echo -e " $B$Bb $Wb $Bb $Wb $Yyb $Blb $Wb$N KERNEL :$W $KERNEL"
|
||||||
echo -e " $B$Bb $Wb $Bb $Wb $Yyb $Blb $Wb$N TOT. MEMORY :$W $MEMORY2"
|
echo -e " $B$Bb $Wb $Bb $Wb $Yyb $Blb $Wb$N TOT. MEMORY :$W $MEMORY2"
|
||||||
echo -e " $B$Bb $Wb $Bb $Wb $Yyb $Blb $Wb$N FREE MEMORY :$W $MEMORY1"
|
echo -e " $B$Bb $Wb $Bb $Wb $Yyb $Blb $Wb$N FREE MEMORY :$W $MEMORY1"
|
||||||
echo -e " $B$Bb $Wb $Yyb $Wb$N $N EXTERNAL IP :$W $EXTIP $LOCATION"
|
echo -e " $B$Bb $Wb $Yyb $Wb$N $N EXTERNAL IP :$W $EXTIP $LOCATION"
|
||||||
@@ -80,12 +87,12 @@ echo -e " $N"
|
|||||||
echo -e "$N---------------------------------------------------------------"
|
echo -e "$N---------------------------------------------------------------"
|
||||||
echo -e "$N HD FREE / TOTAL :$W $DISCFREE / $W$DISCTOT "
|
echo -e "$N HD FREE / TOTAL :$W $DISCFREE / $W$DISCTOT "
|
||||||
echo -e "$N LOAD AVG :$W $LOAD1, $LOAD5, $LOAD15 "
|
echo -e "$N LOAD AVG :$W $LOAD1, $LOAD5, $LOAD15 "
|
||||||
echo -e "$N UPTIME :$W $upDays/d $upHours/h $upMins/m $upSecs/s "
|
echo -e "$N UPTIME :$W $upDays Days $upHours:$upMins "
|
||||||
echo -e "$N---------------------------------------------------------------"
|
echo -e "$N---------------------------------------------------------------"
|
||||||
echo -e " $W Please do not share your login and use$G sudo$W for$R root$W access "
|
echo -e " $W Please do not share your login and use$G sudo$W for$R root$W access "
|
||||||
echo -e "$N---------------------------------------------------------------"
|
echo -e "$N---------------------------------------------------------------"
|
||||||
echo -e "$N"
|
echo -e "$N"
|
||||||
#echo -e "$N VPS # Core, #GB uptime = $serverUp days "
|
echo -e "$N $VPS_0_DESC uptime = $VPS_0_UP days "
|
||||||
echo -e "$N "
|
echo -e "$N "
|
||||||
echo -e "$N---------------------------------------------------------------"
|
echo -e "$N---------------------------------------------------------------"
|
||||||
echo -e "$N "
|
echo -e "$N "
|
||||||
|
|||||||
Reference in New Issue
Block a user