Skip to content

Instantly share code, notes, and snippets.

@Super-Chama
Forked from rojenzaman/dynmotd
Last active June 26, 2022 02:14
Show Gist options
  • Save Super-Chama/f5aa77ba7d99ca6d21c850ac42c5699a to your computer and use it in GitHub Desktop.
Save Super-Chama/f5aa77ba7d99ca6d21c850ac42c5699a to your computer and use it in GitHub Desktop.
RHEL (Centos/Fedora) dynamic motd
#!/bin/bash
# config
USER=`whoami`
HOSTNAME=`uname -n`
ROOT=`df -Ph / | grep / | awk '{print $4}' | tr -d '\n'`
HOME=`df -Ph | grep home | awk '{print $4}' | tr -d '\n'`
BACKUP=`df -Ph | grep backup | awk '{print $4}' | tr -d '\n'`
MNT=`df -Ph | grep mnt | awk '{print $4}' | tr -d '\n'`
TEMPERATURE=`cat /etc/armbianmonitor/datasources/soctemp | awk '{print $1/1000}' | tr -d '\n'`
MEMORY1=`free -t -m | grep "Mem" | awk '{print $3" MB";}'`
MEMORY2=`free -t -m | grep "Mem" | awk '{print $2" MB";}'`
PSA=`ps -Afl | wc -l`
# time of day
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
uptime=`cat /proc/uptime | cut -f1 -d.`
upDays=$((uptime/60/60/24))
upHours=$((uptime/60/60%24))
upMins=$((uptime/60%60))
upSecs=$((uptime%60))
#System load
LOAD1=`cat /proc/loadavg | awk {'print $1'}`
LOAD5=`cat /proc/loadavg | awk {'print $2'}`
LOAD15=`cat /proc/loadavg | awk {'print $3'}`
#Return message
[ -z "$ROOT" ] && ROOT="root partition not available" || ROOT="$ROOT remaining"
[ -z "$HOME" ] && HOME="home partition not available" || HOME="$HOME remaining"
[ -z "$BACKUP" ] && BACKUP="backup partition not available" || BACKUP="$BACKUP remaining"
[ -z "$MNT" ] && MNT="usb partition not available" || MNT="$MNT remaining"
[ -z "$TEMPERATURE" ] && TEMPERATURE="not available"
echo -e "
\e[33m
_, _ _ ,_
.o888P Y8o8Y Y888o.
d88888 88888 88888b
d888888b_ _d88888b_ _d888888b
8888888888888888888888888888888
8888888888888888888888888888888
YJGS8P^Y888P^Y888P^Y888P^Y8888P
Y888 '8' Y8P '8' 888Y
'8o V o8'
` `
\e[0m
Good $TIME | BATCAVE SYSTEM"
echo "
===========================================================================
- Release.............: `cat /etc/*-release | grep "PRETTY_NAME" | sed 's/PRETTY_NAME=//g' | sed 's/"//g'`
- Users...............: Currently `users | wc -w` user(s) logged on
===========================================================================
- Current user........: $USER
- CPU usage...........: $LOAD1, $LOAD5, $LOAD15 (1, 5, 15 min)
- Memory used.........: $MEMORY1 / $MEMORY2
- Swap in use.........: `free -m | tail -n 1 | awk '{print $3}'` MB
- Processes...........: $PSA running
- System uptime.......: $upDays days $upHours hours $upMins minutes $upSecs seconds
- Disk space ROOT.....: $ROOT
- Disk space HOME.....: $HOME
- Temperature.........: $TEMPERATURE
===========================================================================
"
#!/bin/bash
# config
sensor="acpitz-virtual-0"
USER=`whoami`
HOSTNAME=`uname -n`
ROOT=`df -Ph / | grep / | awk '{print $4}' | tr -d '\n'`
HOME=`df -Ph | grep home | awk '{print $4}' | tr -d '\n'`
BACKUP=`df -Ph | grep backup | awk '{print $4}' | tr -d '\n'`
MNT=`df -Ph | grep mnt | awk '{print $4}' | tr -d '\n'`
TEMPERATURE=`sensors $sensor | tail -n +3 | cut -d' ' -f2- | xargs` # please look line 19
MEMORY1=`free -t -m | grep "Mem" | awk '{print $3" MB";}'`
MEMORY2=`free -t -m | grep "Mem" | awk '{print $2" MB";}'`
PSA=`ps -Afl | wc -l`
# time of day
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
uptime=`cat /proc/uptime | cut -f1 -d.`
upDays=$((uptime/60/60/24))
upHours=$((uptime/60/60%24))
upMins=$((uptime/60%60))
upSecs=$((uptime%60))
#System load
LOAD1=`cat /proc/loadavg | awk {'print $1'}`
LOAD5=`cat /proc/loadavg | awk {'print $2'}`
LOAD15=`cat /proc/loadavg | awk {'print $3'}`
#Return message
[ -z "$ROOT" ] && ROOT="root partition not available" || ROOT="$ROOT remaining"
[ -z "$HOME" ] && HOME="home partition not available" || HOME="$HOME remaining"
[ -z "$BACKUP" ] && BACKUP="backup partition not available" || BACKUP="$BACKUP remaining"
[ -z "$MNT" ] && MNT="usb partition not available" || MNT="$MNT remaining"
[ -z "$TEMPERATURE" ] && TEMPERATURE="not available"
[ -x "$(command -v sensors)" ] || TEMPERATURE="lm_sensors not found"
echo -e "
\e[33m
_, _ _ ,_
.o888P Y8o8Y Y888o.
d88888 88888 88888b
d888888b_ _d88888b_ _d888888b
8888888888888888888888888888888
8888888888888888888888888888888
YJGS8P^Y888P^Y888P^Y888P^Y8888P
Y888 '8' Y8P '8' 888Y
'8o V o8'
` `
\e[0m
Good $TIME | BATCAVE SYSTEM"
echo "
===========================================================================
- Release.............: `cat /etc/redhat-release`
- Users...............: Currently `users | wc -w` user(s) logged on
===========================================================================
- Current user........: $USER
- CPU usage...........: $LOAD1, $LOAD5, $LOAD15 (1, 5, 15 min)
- Memory used.........: $MEMORY1 / $MEMORY2
- Swap in use.........: `free -m | tail -n 1 | awk '{print $3}'` MB
- Processes...........: $PSA running
- System uptime.......: $upDays days $upHours hours $upMins minutes $upSecs seconds
- Disk space ROOT.....: $ROOT
- Disk space HOME.....: $HOME
- Temperature.........: $TEMPERATURE
===========================================================================
"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment