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