#!/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 # if getent group "{{ admin_group }}" | grep -qw "$(whoami)"; then USER=`/usr/bin/env whoami` HOSTNAME=`/usr/bin/env uname -n | /usr/bin/env cut -d. -f1` IP=`/usr/bin/env ip route get 1 | /usr/bin/env grep -Po '(?<=src.)[\w\d.]+'` IP6=`/usr/bin/env ip -6 addr | /usr/bin/env awk -F '[ \t]+|/' '$3 == "::1" { next;} $3 ~ /^fe80::/ { next ; } /inet6/ {print $3} '` NUM_CPU=`cat /proc/cpuinfo | grep processor | wc -l` #ROOT=`/usr/bin/df / -x fuse.gvfs-fuse-daemon -Ph | /usr/bin/egrep -i 'root|logvol|vda' | awk '{print $4}' | tr -d '\n'` #HOME=`/usr/bin/df /home -x fuse.gvfs-fuse-daemon -Ph | grep home | awk '{print $4}' | tr -d '\n'` #BACKUP=`/usr/bin/df -x fuse.gvfs-fuse-daemon -Ph | grep backup | awk '{print $4}' | tr -d '\n'` FILESYSTEMS=`cat /etc/fstab | grep -v '#' | grep -v 'swap' | grep -v 'proc' | awk '{if(NF>0) {print $2}}'` MEMORY=`/usr/bin/env free -m | /usr/bin/env grep "Mem" | /usr/bin/env awk '{print $2,"-",$3,"-",$4}'` SWAP=`/usr/bin/env free -m | /usr/bin/env grep "Swap" | /usr/bin/env awk '{print $2,"-",$3,"-",$4}'` PSA=`/usr/bin/env ps -Afl | /usr/bin/env wc -l` # time of day HOUR=$(/usr/bin/env 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=`/usr/bin/env 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=`/usr/bin/env cat /proc/loadavg` LOAD1=`echo $LOADAVG | /usr/bin/env awk {'print $1'}` LOAD5=`echo $LOADAVG | /usr/bin/env awk {'print $2'}` LOAD15=`echo $LOADAVG | /usr/bin/env 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 {% if common_show_ipv6 == true %} $COLOR_COLUMN- IP Address (Main v4)$RESET_COLORS: $COLOR_VALUE $IP $RESET_COLORS $COLOR_COLUMN- IP Address (Main v6)$RESET_COLORS: $COLOR_VALUE $IP6 $RESET_COLORS {% else %} $COLOR_COLUMN- IP Address (Default)$RESET_COLORS: $COLOR_VALUE $IP $RESET_COLORS {% endif %} {% if ansible_distribution == "Alpine" %} $COLOR_COLUMN- Release$RESET_COLORS.............: $COLOR_VALUE Alpine `/usr/bin/env cat /etc/os-release` $RESET_COLORS {% else %} $COLOR_COLUMN- Release$RESET_COLORS.............: $COLOR_VALUE `/usr/bin/env cat /etc/os-release | /usr/bin/env grep PRETTY_NAME | /usr/bin/env cut -d '"' -f 2` $RESET_COLORS {% endif %} {% if ansible_distribution != "Alpine" %} $COLOR_COLUMN- Users$RESET_COLORS...............: $COLOR_VALUE Currently `users | wc -w` user(s) logged on $RESET_COLORS {% endif %} =========================================================================== $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 {% if ansible_virtualization_type != "lxc" %} $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 {% endif %} echo -e " =========================================================================== " if [ -f /etc/motd ]; then /usr/bin/env cat /etc/motd fi else # Just exit :) exit 0 fi;