Last active 1 hour ago

motd.sh Raw
1#!/usr/bin/env sh
2
3# Put this file in /etc/profile.d
4
5# os available ?
6if [ -f /etc/os-release ]; then
7 . /etc/os-release
8else
9 PRETTY_NAME="Linux"
10fi
11
12# Welcome Message
13printf "\n%s\n" "$(date)"
14printf "%s | %s\n" "$PRETTY_NAME" "$(uname -r)"
15
16# Show Hostname
17printf "\033[1;34m"
18figlet "$(hostname -s)"
19printf "\033[0m"
20
21# System Params
22load=$(awk '{print $2}' /proc/loadavg)
23memory_usage=$(free -m | awk '/Mem/ { printf("%3.1f%%", $3/($2+1)*100) }')
24memory_total=$(free -g | awk '/Mem/ { printf("%3.0f", $2) }')
25swap_usage=$(free -m | awk '/Swap/ { printf("%3.1f%%", $3/($2+1)*100) }')
26swap_total=$(free -g | awk '/Swap/ { printf("%3.0f", $2) }')
27users=$(who | wc -l)
28
29echo ""
30printf "System load:\t%s\t\tMemory usage:\t%s of %sG\n" "$load" "$memory_usage" "$memory_total"
31printf "Local users:\t%s\t\tSwap usage:\t%s of %sG\n" "$users" "$swap_usage" "$swap_total"
32echo ""
33
34# Get disk usage (use 2s timeout for weak nfs mounts)
35busybox timeout 2 df -h 2>/dev/null | grep -E "^(/dev/|Filesystem)"
36
37echo ""