linux-motd/ update-motd.d/20-sysinfo
2025-07-04 21:17:23 +00:00

33 lines
No EOL
1.3 KiB
Bash

#!/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:" | 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"