|
| 1 | +#!/bin/bash |
| 2 | +# Author : mrkips (Cybergavin) |
| 3 | +# Date : 23rd October 2018 |
| 4 | +# Description : Welcome Wagon - Displays useful information about the Linux Host. |
| 5 | +# Tested on RHEL 7, CentOS 8 and Raspbian 10 |
| 6 | +########################################################################################################### |
| 7 | +# Color variables |
| 8 | +BLACK=$(tput setaf 0) |
| 9 | +RED=$(tput setaf 1) |
| 10 | +GREEN=$(tput setaf 2) |
| 11 | +YELLOW=$(tput setaf 3) |
| 12 | +LIME_YELLOW=$(tput setaf 190) |
| 13 | +POWDER_BLUE=$(tput setaf 153) |
| 14 | +BLUE=$(tput setaf 4) |
| 15 | +MAGENTA=$(tput setaf 5) |
| 16 | +CYAN=$(tput setaf 6) |
| 17 | +WHITE=$(tput setaf 7) |
| 18 | +BRIGHT=$(tput bold) |
| 19 | +NORMAL=$(tput sgr0) |
| 20 | +UNDERLINE=$(tput smul) |
| 21 | +# Host Details |
| 22 | +my_ips=$(ip -4 address | grep "inet " | grep -v "127.0.0.1" | awk '{printf $2" "}') |
| 23 | +my_os=$(cat /etc/os-release | grep PRETTY_NAME | cut -d= -f2 | sed 's/\"//g') |
| 24 | +my_kernel=$(uname -r) |
| 25 | +my_uptime=$(uptime|sed 's/^ *//g') |
| 26 | +# CPU Details |
| 27 | +my_cpu_model=`lscpu | grep "Model name" | awk -F: '{print $2}' | sed 's/^ *//g'` |
| 28 | +my_cpu_sockets=`lscpu | grep "Socket(s)" | awk -F: '{print $2}' | sed 's/^ *//g'` |
| 29 | +my_cpu_cores=`lscpu | grep "Core(s) per socket" | awk -F: '{print $2}' | sed 's/^ *//g'` |
| 30 | +my_cpu_lps=`lscpu | grep "^CPU(s)" | awk -F: '{print $2}' | sed 's/^ *//g'` |
| 31 | +# Memory |
| 32 | +my_mem_total=$(grep -m 1 -w 'MemTotal' /proc/meminfo | awk -F: '{print $2 / 1024 / 1024 }' | sed 's/^ *//g') |
| 33 | +my_mem_free=$(grep -m 1 -w 'MemFree' /proc/meminfo | awk -F: '{print $2 / 1024 / 1024 }' | sed 's/^ *//g') |
| 34 | +my_swap_total=$(grep -m 1 -w 'SwapTotal' /proc/meminfo | awk -F: '{print $2 / 1024 / 1024 }' | sed 's/^ *//g') |
| 35 | +my_swap_free=$(grep -m 1 -w 'SwapFree' /proc/meminfo | awk -F: '{print $2 / 1024 / 1024 }' | sed 's/^ *//g') |
| 36 | +echo -e "" |
| 37 | +echo -e "${WHITE}Welcome ${YELLOW}${USER} ${NORMAL}to ${CYAN}${UNDERLINE}$HOSTNAME${NORMAL}" |
| 38 | +echo -e "" |
| 39 | + |
| 40 | +echo -e "${YELLOW}Date: `date`${NORMAL}" |
| 41 | +echo -e "" |
| 42 | +cat <<EOF |
| 43 | +$(printf "${WHITE}%-20s${NORMAL}: ${CYAN}%-20s${NORMAL}" "IPv4 Address(es)" "$my_ips") |
| 44 | +$(printf "${WHITE}%-20s${NORMAL}: ${CYAN}%-20s${NORMAL}" "Hostname" "$HOSTNAME") |
| 45 | +$(printf "${WHITE}%-20s${NORMAL}: ${CYAN}%-20s${NORMAL}" "Operating System" "$my_os") |
| 46 | +$(printf "${WHITE}%-20s${NORMAL}: ${CYAN}%-20s${NORMAL}" "Kernel" "$my_kernel") |
| 47 | +$(printf "${WHITE}%-20s${NORMAL}: ${CYAN}%-20s${NORMAL}" "Uptime" "$my_uptime") |
| 48 | +
|
| 49 | +$(printf "${WHITE}%-20s${NORMAL}: ${CYAN}%-20s${NORMAL}" "CPU Model" "$my_cpu_model") |
| 50 | +$(printf "${WHITE}%-20s${NORMAL}: ${CYAN}%-20s${NORMAL}" "CPU Sockets" "$my_cpu_sockets") |
| 51 | +$(printf "${WHITE}%-20s${NORMAL}: ${CYAN}%-20s${NORMAL}" "CPU Cores/Socket" "$my_cpu_cores") |
| 52 | +$(printf "${WHITE}%-20s${NORMAL}: ${CYAN}%-20s${NORMAL}" "#Logical Processors" "$my_cpu_lps") |
| 53 | +
|
| 54 | +$(printf "${WHITE}%-20s${NORMAL}: ${CYAN}%-20s${NORMAL}" "Total Memory" "$my_mem_total GiB") |
| 55 | +$(printf "${WHITE}%-20s${NORMAL}: ${CYAN}%-20s${NORMAL}" "Free Memory" "$my_mem_free GiB") |
| 56 | +
|
| 57 | +EOF |
| 58 | +# Reset Terminal Colour Back to Normal |
| 59 | +echo -e "${NORMAL}" |
0 commit comments