#!/bin/bash LANG="en_US" # get load averages IFS=" " read LOAD1 LOAD5 LOAD15 <<<$(cat /proc/loadavg | awk '{ print $1,$2,$3 }') # get free memory IFS=" " read USED AVAIL TOTAL <<<$(free -htm | grep "Mem" | awk {'print $3,$7,$2'}) # get processes PROCESS=`ps -eo user=|sort|uniq -c | awk '{ print $2 " " $1 }'` PROCESS_ALL=`echo "$PROCESS"| awk {'print $2'} | awk '{ SUM += $1} END { print SUM }'` PROCESS_ROOT=`echo "$PROCESS"| grep root | awk {'print $2'}` PROCESS_USER=`echo "$PROCESS"| grep -v root | awk {'print $2'} | awk '{ SUM += $1} END { print SUM }'` # get processors PROCESSOR_NAME=`lscpu | grep "Model name:" | head -1 | sed -r 's/Model name:\s{1,}//g'` PROCESSOR_COUNT=`grep -ioP 'processor\t:' /proc/cpuinfo | wc -l` CW="\e[0;39m" CG="\e[1;32m" CB="\e[1;34m" echo -e " ${CB}system info: $CW Distro......: $CW`cat /etc/*release | grep "PRETTY_NAME" | cut -d "=" -f 2- | sed 's/"//g'` $CW Kernel......: $CW`uname -sr` $CW Uptime......: $CW`uptime -p` $CW Load........: $CG$LOAD1$CW (1m), $CG$LOAD5$CW (5m), $CG$LOAD15$CW (15m) $CW Processes...: $CG$PROCESS_ROOT$CW (root), $CG$PROCESS_USER$CW (user), $CG$PROCESS_ALL$CW (total) $CW CPU.........: $CW$PROCESSOR_NAME ($CG$PROCESSOR_COUNT$CW vCPU) $CW Memory......: $CG$USED$CW used, $CG$AVAIL$CW avail, $CG$TOTAL$CW total$CW"