Script bash: Información del sistema

Actualizado el miércoles, 29 mayo, 2019

Script bash: Información del sistema.

Dicen que estoy loco, que soy un enfermo de los script bash, y es cierto, no tengo por que negar que cuando estoy en la consola pensando que podemos hacer nuevo estoy absorto, es mi mundo.

Así que hoy, después de una noche dejando perfecto mi notebook personal con el flamante OpenSUSE Leap 15.1, pensé que ya hace demasiados días que no subíamos ninguno a sololinux y eso no puede ser, no, no.

La consecuencia directa es que hoy veremos dos, y el primero en este articulo, «Información del sistema«.

No es un script al uso, está mucho más trabajado, más bonito, ya lo veras. Ademas nos aporta más información, que enumeramos antes de comenzar el script.

  • GENERAL INFORMATION
  • CPU INFORMATION
  • MEMORY INFORMATION
  • FILE SYSTEM INFORMATION
  • NETWORK INFORMATION
  • VERSION INFORMATION

En «VERSION INFORMATION» puedes agregar los servicios que necesites, por defecto el script viene con: php, mysql, openssl, smbclient, smbd, httpd y git.

Comenzamos…

 

Script bash: Información del sistema

Creamos el script (se requiere vcheck).

nano info.sh

Copia y pega lo siguiente:

#/bin/bash
#

# Bash css!
red="\033[0;31m"
blue="\033[0;34m"
nc="\033[0m"

#Verify root
USERID=`id -g`
if [ $USERID == 0 ]; then
echo ""
else
echo -e "\n${red}Please run the script using root user${nc}\n"
exit
fi

#Search for external Ip informations.
GetExternalIp(){

curl -s ipinfo.io > /tmp/ExternalIp

}

# Verify the existence of determined command
Vcheck() {

if hash $1 2>/dev/null; then

if [ "$1" = "php" ]; then
echo "PHP `php -v | awk 'NR==1{print $2}'`"

fi

if [ "$1" = "mysql" ]; then
echo "Mysql `mysql --version | awk '{print $5}'`"

fi

if [ "$1" = "openssl" ];then

openssl version |awk '{print $1, $2}'
fi

if [ "$1" = "smbclient" ]; then

echo "Samba Client: `smbclient -V`"
fi

if [ "$1" = "smbd" ]; then

echo "Samba Daemon: `smbd -V`"

fi

if [ "$1" = "httpd" ];then

echo "Apache: `httpd -v`"

fi

if [ "$1" = "git" ];then

echo "Git: `git --version | awk '{print $3}'`"

fi

else
echo "$1 not found"

fi
}

#Display Date
echo -e "\n Date : `date`\n"

# General Info
echo -e "${red}GENERAL INFORMATION ${nc} \n"
echo "Hostname: `hostname`"
echo "Uptime: ` uptime | awk '{print $3, $4}'`"
echo "CPU idle: `vmstat 1 2 | sed -n '/[0-9]/p' | sed -n '2p' | gawk '{print $15}'`"
echo "Architecture: `uname -m`"
echo "Linux Kernel: `uname -r`"
echo "Linux Distro: `cat /etc/*-release | head -1`"

# Cpu Info
echo -e "\n${red}CPU INFORMATION\n ${nc}"
echo "CPU model: `grep "model name" /proc/cpuinfo | awk -F ":" '{print $02}'`"
echo "CPU Speed: `grep "cpu MHz" /proc/cpuinfo | awk -F ":" '{print $02}'`"
echo "Cache Size: `grep "cache size" /proc/cpuinfo | awk -F ":" '{print $02}'`"

# Memory Info
echo -e "\n${red}MEMORY INFORMATION ${nc}\n"
free -m

echo -e "\n${red}FILE SYSTEM INFORMATION ${nc}\n"
echo "`df -h`"

# NET INFO
echo -e "\n${red}NETWORK INFORMATION ${nc}\n"
echo -e "${blue}Hostname:${nc} "
echo "`cat /etc/resolv.conf`"
echo -e "${blue}Ip address: ${nc}"
echo "`ip addr | grep enp0* | grep inet | awk '{print "\033[31m"$7" \033[0m"$2; }'`"
echo -e "${blue}Route:${nc}"
ip route show
echo -e "${blue}External IP Adress: ${nc}"
echo "Loading..."

#GetExternalIp
GetExternalIp
echo "IP:`cat /tmp/ExternalIp | grep ip | awk '{print $2}' | sed 's/[",]//g'`"
echo "Hostname:`cat /tmp/ExternalIp | grep hostname | awk '{print $2}' | sed 's/[",]//g'`"
echo "Region:`cat /tmp/ExternalIp | grep region | awk -F ":" '{print $2}' | sed 's/[",]//g'`"
echo "Country:`cat /tmp/ExternalIp | grep country | awk -F ":" '{print $2}' | sed 's/[",]//g'`"

#Version check

echo -e "\n${red}VERSION INFORMATION ${nc}\n"
Vcheck php
Vcheck mysql
Vcheck openssl
Vcheck smbclient
Vcheck smbd
Vcheck httpd
Vcheck git

 

Guarda el script y cierra el editor.

 

Lo podemos ejecutar con…

bash info.sh

También le puedes conceder permisos.
chmod u+x info.sh

y ejecutarlo con…
./info.sh

ejemplo de salida…
Script bash Información del sistema

continua….

 

En Sololinux.es seguimos creciendo gracias a nuestros lectores, puedes colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. 

 

7 Comentarios

  1. HenryGR
    23/05/2019
    • sololinux
      23/05/2019
      • Raimundo
        27/05/2019
        • Raimundo
          27/05/2019
          • sololinux
            29/05/2019
  2. Carlos Nunes
    23/05/2019
    • sololinux
      23/05/2019

Agregar comentario