File: //etc/profile.d/gs_motd.sh
function motd_status() {
if [[ $(/usr/bin/id -u ) == 0 ]]; then
local LOAD1=$(cat /proc/loadavg | awk {'print $1'});
local LOAD5=$(cat /proc/loadavg | awk {'print $2'});
local LOAD15=$(cat /proc/loadavg | awk {'print $3'});
local uptime=$(cat /proc/uptime | cut -f1 -d.);
local upDays=$((uptime/60/60/24));
local upHours=$((uptime/60/60%24));
local upMins=$((uptime/60%60));
local upSecs=$((uptime%60));
local root_usage=$(df -h / | awk '/\// {print $5}'|grep -v "^$" 2>/dev/null);
local memory_usage=$(free | awk '/Mem/{printf("%.2f%"), $3/$2*100}' 2>/dev/null);
local swap_usage=$(free -m | awk '/Swap/ { printf("%3.1f%%", $3/$2*100) }' 2>/dev/null);
local processes=$(ps aux | wc -l);
local IP_MAIN=$(ip a | grep global | awk '{print $2}' | head -1 | cut -f1 -d/ | tr -d " " 2>/dev/null);
local OS_CHECK=$(cat /etc/redhat-release);
echo
printf "Operating System:\t%s\t\n" "$OS_CHECK"
echo
printf "System Load:\t%s %s %s\tSystem Uptime:\t%s "days" %s "hours" %s "min" %s "sec"\n" $LOAD1, $LOAD5, $LOAD15 $upDays $upHours $upMins $upSecs
printf "Memory Usage:\t%s\t\t\tSwap Usage:\t%s\n" $memory_usage $swap_usage
printf "Usage On /:\t%s\t\t\tProcesses:\t%s\n" $root_usage $processes
printf "Main IP:\t%s\t\tHostname:\t%s\n" $IP_MAIN $HOSTNAME
echo
fi
}
motd_status