Script bash: Información de un sistema linux

Script bash: Información de un sistema linux.

No es la primera vez que publicamos scripts bash que ofrecen información de un sistema linux, cada uno de ellos aporta datos que otros no, otras veces simplemente mejoramos la experiencia de usuario.

En este caso creamos un script que mediante selección nos aporta interesantes datos, bien estructurados, y por primera vez aplicamos colores a la shell (en próximos artículos trataremos este tema en profundidad). Los datos que nos aporta el script que hoy presentamos son los siguientes:

  • Información del hostname.
  • Espacio utilizado en el/los discos.
  • Uso de la memoria.
  • Actividad y la carga del sistema.
  • Usuarios conectados y su información.

Al ejecutar el script debes seleccionar que dato quieres conocer, o bien ejecutar todas las exploraciones a la vez. Lo vemos.

 

Script bash: Información de un sistema linux

Creamos el script bash.

nano infosis.sh

Copia y pega el siguiente código:
#!/bin/bash
# Description   : Información del sistema: nombre de host, espacio en disco, 
#                 memoria, tiempo de actividad y usuarios activos.

# Display hostname of the system.
displayHostName() {
    echo -e "${FOREGROUND_COLOR}${BACKGROUND_COLOR}*** IMFORMACION DEL HOSTNAME ***${DEFAULT_COLOR}"
    hostnamectl
    echo ${BLANK_SPACE}
}

# Display disk space usage of the system.
displayDiskSpace() {
    echo -e "${FOREGROUND_COLOR}${BACKGROUND_COLOR}*** ESPACIO UTILIZADO EN EL DISCO ***${DEFAULT_COLOR}\n"
    df -h
    echo ${BLANK_SPACE}
}

# Display free and used memory of the system.
displayMemory() {
    echo -e "${FOREGROUND_COLOR}${BACKGROUND_COLOR}*** USO DE LA MEMORIA ***${DEFAULT_COLOR}\n"
    free
    echo ${BLANK_SPACE}
}

# Display uptime and load of the system.
displayUpTime() {
    echo -e "${FOREGROUND_COLOR}${BACKGROUND_COLOR}*** ACTIVIDAD Y CARGA DEL SISTEMA ***${DEFAULT_COLOR}\n"
    uptime
    echo ${BLANK_SPACE}
}

# Display active users on the system.
displayUsers() {
    echo -e "${FOREGROUND_COLOR}${BACKGROUND_COLOR}*** USUARIOS ACTIVOS ***${DEFAULT_COLOR}\n"
    who
    echo ${BLANK_SPACE}
}

echo -e "\e[96m================================================\n"
echo -e "\tMostrar información del sistema\n"
echo -e "================================================\e[0m\n"          
echo "Script que muestra información actualizada del sistema."
echo -e "---------------------------------------------------------"

# List options available to the user.
echo -e "\nPuedes optener informacion de las siguientes opciones."
echo -e "(1):\t Display Mostrar nombre del host"
echo -e "(2):\t Display Mostrar espacio en disco"
echo -e "(3):\t Display Mostrar la memoria"
echo -e "(4):\t Display Mostrar tiempo de actividad y carga"
echo -e "(5):\t Display Mostrar usuarios activos"
echo -e "(6):\t Display Mostrar todas las opciones\n"

FOREGROUND_COLOR="\e[97m"
BACKGROUND_COLOR="\e[104m"
DEFAULT_COLOR="\e[0m"
BLANK_SPACE=""

INPUT="s"
while [[ ${INPUT} = "s" ]]
do
    # Prompt the user to choose an option.
    read -p "Selecciona que informacion quieres ver (1-6): " CHOICE

    case ${CHOICE} in 
        1)
            displayHostName
            echo ${BLANK_SPACE};;
        2)
            displayDiskSpace
            echo ${BLANK_SPACE};;
        3)
            displayMemory
            echo ${BLANK_SPACE};;
        4)
            displayUpTime
            echo ${BLANK_SPACE};;
        5)
            displayUsers
            echo ${BLANK_SPACE};;
        6)
            displayHostName
            displayDiskSpace
            displayMemory
            displayUpTime
            displayUsers
            echo ${BLANK_SPACE};;
        *)
            echo -e "You must enter a number between 1-6 ONLY.\n";;
    esac

    # Prompt user if they wish to continue running the script or end it.
    echo "Quieres continuar? Pulsa 'S' o 'N'."
    read INPUT

    if [[ ${INPUT} = "n" ]];
    then
        echo -e ${BLANK_SPACE}
        
    elif [[ ${INPUT} = "s" ]];
    then    
        echo ${BLANK_SPACE}
        continue
    fi
done

exit 0

Guarda el archivo y cierra el editor.

 

Ejecutar el script bash

Si tienes permisos puedes ejecutarlo con…

bash infosis.sh

También le puedes conceder permisos de usuario.
chmod u+x infosis.sh

y ejecutarlo con…

 

Ejemplo de uso Script bash Informacion del un sistema linux

Ejemplo de uso Script bash Informacion del un sistema linux

 

Espero que este articulo sea de utilidad, puedes colaborar con nosotros con una donación (paypal), o con el simple gesto de compartir los manuales en tu sitio web, blog, foro o redes sociales.

 

3 Comentarios

  1. Henry
    31/07/2019
    • sololinux
      01/08/2019
  2. Carlos Nunes
    01/08/2019

Agregar comentario