You've already forked ansible-role-common
84 lines
3.3 KiB
Bash
84 lines
3.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Installation:
|
|
#
|
|
# 1. vim /etc/ssh/sshd_config
|
|
# PrintMotd no
|
|
#
|
|
# 2. vim /etc/pam.d/login
|
|
# # session optional pam_motd.so
|
|
#
|
|
# 3. vim /etc/profile
|
|
# /usr/local/bin/dynmotd # Place at the bottom
|
|
#
|
|
# 4. Then of course drop this file at
|
|
# /usr/local/bin/dynmotd
|
|
#
|
|
|
|
USER=`whoami`
|
|
HOSTNAME=`uname -n | cut -d. -f1`
|
|
IP=`ip route get 1 | awk '{print $NF;exit}'`
|
|
NUM_CPU=`lscpu | grep "CPU(s):" | head -n 1 | awk '{print $2}'`
|
|
ROOT=`df -x fuse.gvfs-fuse-daemon -Ph | egrep -i 'root|logvol|vda' | awk '{print $4}' | tr -d '\n'`
|
|
HOME=`df -x fuse.gvfs-fuse-daemon -Ph | grep home | awk '{print $4}' | tr -d '\n'`
|
|
FILESYSTEMS=`cat /etc/fstab | grep -v '#' | grep -v 'swap' | awk '{if(NF>0) {print $2}}'`
|
|
BACKUP=`df -x fuse.gvfs-fuse-daemon -Ph | grep backup | awk '{print $4}' | tr -d '\n'`
|
|
OS_RELEASE=`awk -F= '$1=="PRETTY_NAME" { print $2 ;}' /etc/os-release | sed -e 's/^"//' -e 's/"$//'`
|
|
MEMORY=`free -m | grep "Mem" | awk '{print $2,"-",$3,"-",$4}'`
|
|
SWAP=`free -m | grep "Swap" | awk '{print $2,"-",$3,"-",$4}'`
|
|
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
|
|
LOADAVG=`cat /proc/loadavg`
|
|
LOAD1=`echo $LOADAVG | awk {'print $1'}`
|
|
LOAD5=`echo $LOADAVG | awk {'print $2'}`
|
|
LOAD15=`echo $LOADAVG | awk {'print $3'}`
|
|
|
|
echo ""
|
|
echo -e "\e[7m--- GOOD $TIME $USER ----\e[0m"
|
|
echo ""
|
|
#MESSAGE=`/usr/bin/fortune | /usr/bin/cowsay`
|
|
#echo -e " $MESSAGE"
|
|
|
|
COLOR_COLUMN="\e[1m-"
|
|
COLOR_VALUE="\e[31m"
|
|
RESET_COLORS="\e[0m"
|
|
echo -e "
|
|
===========================================================================
|
|
$COLOR_COLUMN- Hostname$RESET_COLORS............: $COLOR_VALUE $HOSTNAME $RESET_COLORS
|
|
$COLOR_COLUMN- IP Address (Default)$RESET_COLORS: $COLOR_VALUE $IP $RESET_COLORS
|
|
$COLOR_COLUMN- Release$RESET_COLORS.............: $COLOR_VALUE $OS_RELEASE $RESET_COLORS
|
|
$COLOR_COLUMN- Users$RESET_COLORS...............: $COLOR_VALUE Currently `users | wc -w` user(s) logged on $RESET_COLORS
|
|
=========================================================================== $RESET_COLORS
|
|
$COLOR_COLUMN- Current user$RESET_COLORS........: $COLOR_VALUE $USER $RESET_COLORS
|
|
$COLOR_COLUMN- Number of CPU$RESET_COLORS.......: $COLOR_VALUE $NUM_CPU $RESET_COLORS
|
|
$COLOR_COLUMN- CPU usage$RESET_COLORS...........: $COLOR_VALUE $LOAD1 - $LOAD5 - $LOAD15 (1-5-15 min) $RESET_COLORS
|
|
$COLOR_COLUMN- Memory used$RESET_COLORS.........: $COLOR_VALUE $MEMORY (total-used-free) $RESET_COLORS
|
|
$COLOR_COLUMN- Swap in use$RESET_COLORS.........: $COLOR_VALUE $SWAP (total-used-free) MB $RESET_COLORS
|
|
$COLOR_COLUMN- Processes$RESET_COLORS...........: $COLOR_VALUE $PSA running $RESET_COLORS
|
|
$COLOR_COLUMN- System uptime$RESET_COLORS.......: $COLOR_VALUE $upDays days $upHours hours $upMins minutes $upSecs seconds $RESET_COLORS
|
|
$COLOR_COLUMN- Disk space$RESET_COLORS..........: "
|
|
for FS in ${FILESYSTEMS}; do
|
|
echo -e " $COLOR_COLUMN- ..........$RESET_COLORS..........: $COLOR_VALUE `df -H ${FS} | grep -v 'Filesystem' | grep -v '^[[:space:]]*$' | awk '{print $6 " " $4}'` remaining $RESET_COLORS"
|
|
done
|
|
echo -e "
|
|
===========================================================================
|
|
"
|