Shell Scripting TIC – TAC


Saludos: Integrantes de la Gran Comunidad de Usuarios del Software Libre (No necesariamente gratis) y Usuarios del Linux Post Install – Script Bicentenario (CMSL / U-LPI-SB), Compañeros, Colegas y Autodidactas del Siglo XXI, Ingenieros, Licenciados y Técnicos de áreas afines a las Tecnologías de la Información.

Saludo de Bienvenida

RECORDATORIO: Recuerda que muchas veces el carácter de doble guión – – en una orden de comando escrita en el Blog se visualiza como un solo guión largo , el carácter comillas simple se visualiza como un acento y el carácter comillas doble recta   se visualiza como comillas doble inclinadas “, por lo que si al momento de copiar la orden de comando desde el Blog y pegarla en una Consola / Terminal no se ejecuta correctamente la misma, verifique y corrija si el problema es causado por un carácter mal traducido guión largo que debe ser escrito como doble guión. Lo mismo puede llegar a suceder con algún otro carácter no alfanumérico, así que tenga cuidado al copiar y pegar en una Terminal / Consola.

________________________________________________________

Esta sección del Blog tiene como objetivo servir de repositorio de ordenes de comando útiles para la facilitar la creación de Scripts en un Shell tipo Bash o compatible.

Aprender sobre el Shell Scripting, es decir, a ejecutar ordenes complejas sobre el Terminal (Consola) de GNU/Linux es muy útil para automatizar actividades rutinarias e importantes dentro de nuestro Sistema Operativo GNU/Linux para así optimizar nuestros Recursos y Tiempo, es decir, con lo aquí contenido exploraremos como desde el terminal podemos ejecutar ordenes de comando manuales que luego nos permitan programar/automatizar actividades sobre un equipo ahorrando Horas/Labor de ejecución manual o presencial, implementando dichas ordenes en un Script de Bash Shell o compatible y explicado de una manera, practica y sencilla.

Todo esto con la intención de seguir intentar desmitificar otro de esos paradigmas sobre GNU/Linux que muchos de los Usuarios de Sistemas Operativos Privativos y uno que otro Linuxero Novato tienen todavía metido entre ceja y ceja. El mito de “GNU/Linux es muy complejo porque todo lo importante es manual vía terminal” y “No sé como realizar un Script de Bash Shell en un Sistema Operativo GNU/Linux desde un Terminal”.

En fin, abarcaremos como en una sola orden de comando podemos extraer y mostrar valores / información del Sistema Operativo / Hardware, que luego podamos implementar dentro de un Script de Bash Shell para automatizar una tarea especifica. Concentrándonos en las Mejores Practicas (Best Practices) necesarias para obtener un excelente diseño de un Script de la manera más eficiente y practica.

Bueno aquí lo tienen, y demuéstrenle a los escépticos e incrédulos que no es cierto, que solo es desconocimiento o falta de experiencia técnica. Estos son pequeños “Tips” que nos facilitan realizar esas operaciones técnicas reservadas por lo general para personas expertas (Administradores de Sistemas y/o Servidores) en DEBIAN o nuestro Sistema Operativo Nacional basado en DEBIAN, “Canaima GNU/Linux”.

________________________________________________________

Recuerda donar por lo menos 1$ US a este u otro Proyecto de apoyo o desarrollo de Software Libre, GNU, Linux o Codigo Abierto.

Dona al Proyecto TIC - TAC
Dona al Proyecto TIC – TAC

________________________________________________________

Bueno aquí les va la información:

VARIABLES CON INFORMACIÓN SOBRE LA FECHA, HORA, VERSIÓN, ARQUITECTURA DEL SISTEMA OPERATIVO Y SUS USUARIOS, ENTRE OTROS PARÁMETROS:

  1. NOMBRE_HOST=$(cat /etc/hostname)
  2. Nombre del Equipo.
  1. FECHA_INICIO=$(date +"%D")
  2. Fecha actual del Sistema
  1. FECHA_ALFABET=$(date +"%d-%b-%y")
  2. Fecha actual del Sistema
  1. FECHA_ALFANUM=$(date +"%d-%m-%y")
  2. Fecha Numérica actual del Equipo
  1. FECHA_ACTUAL_EXT=$(date "+%d-%m-%y_%H-%M-%S")
  2. Fecha actual extendida del Sistema
  1. HORA_INICIO=$(date +"%T")
  2. Hora actual del Sistema
  1. HORA_ACTUAL=$(date +"%H-%M")
  2. Hora actual del Sistema
  1. HORA_ACTUAL_EXT=$(date +"%H-%M-%S")
  2. Fecha actual extendida del Sistema
  1. HORA=$(date +"%H")
  2. Hora del Sistema
  1. MINUTO=$(date +"%M")
  2. Minuto del Equipo
  1. SEGUNDOS=$(date +"%S")
  2. Segundos del Sistema
  1. DIA=$(date +"%d")
  2. Día actual del Equipo
  1. MES_ALFABET=$(date +"%b")
  2. Mes alfabético actual del Equipo
  1. MES_ALFANUM=$(date +"%m")
  2. Mes numérico actual del Equipo
  1. ANO_2C=$(date +"%y")
  2. Año (con 2 cifras) actual del Equipo
  1. ANO_4C=$(date +"%Y")
  2. Año (con 4 cifras) actual del Equipo
  1. NOMBRE_USUARIO=$(cat /etc/passwd | grep 1000 | cut -d: -f1)
  2. Nombre de Usuario creado por UID/GID (EJM. 1000) - VERSIÓN SIMPLE
  1. NOMBRE_USUARIO=$(awk -F: '{if ($3==1000) print $1}' /etc/passwd)
  2. Nombre de Usuario creado por UID/GID (EJM. 1000) - VERSIÓN COMPLEJA
  1. NOMBRE_USUARIO=$(awk -F: '{if ($4==1000) print $1}' /etc/passwd)
  2. Nombre de Usuario creado por UID/GID (EJM. 1000) - VERSIÓN COMPLEJA
  1. IDSUPERUSER=$(id -u | awk '{print $1}')
  2. IUD del Superusuario root
  1. IDSUPERUSER=$(echo $UID)
  2. IUD del Superusuario root
  1. IDSUPERUSER=$(getent passwd $USER | cut -d: -f3)
  2. IUD del Superusuario root
  1. USER_NAME_1=$(cat /etc/passwd | grep 1000 | cut -d: -f1 | awk '{print $1}')
  2. Nombre del usuario 1000
  1. HOME_USER_NAME_1=/home/$USER_NAME_1
  2. /home del usuario 1000 utilizando la variable anterior
  1. USER_NAME_2=$(cat /etc/passwd | grep 1001 | cut -d: -f1 | sed -n '2p' | awk '{print $1}')
  2. Nombre del usuario 1001
  1. HOME_USER_NAME_2=/home/$USER_NAME_2
  2. /home del usuario 1001 utilizando la variable anterior
  1. ID_FIRST_USERNAME=$(for i in 1000 1001 1002 1003 1004; do grep $i /etc/passwd | awk '{print "\t" $1}' | tr -d '[A-Za-z]' | sed 's/::x*//' | cut -c 1-5 | awk '{print $1}' ; done | sed -n '1p')
  2. Almacenar el ID del Nombre del primer usuario creado en el sistema entre los ID del 1000 al 1005. Nota: Solo funciona con la opción -o desactivada del MODO BASH ESTRICTO ó SEGURO (Bash Strict Mode / BSM)
  1. FIRST_ID_USERNAME=$(for i in $(seq 1000 1999); do grep $i /etc/passwd | awk '{print "\t" $1}' | tr -d '[A-Za-z]' | sed 's/::x*//' | cut -c 1-5 | awk '{print $1}' ; done | sed -n '1p')
  2. Almacenar el ID del Nombre del primer usuario creado en el sistema. Nota: Solo funciona con la opción -o desactivada del MODO BASH ESTRICTO ó SEGURO (Bash Strict Mode / BSM)
  1. QUIENSOY=$(who -m | awk '{print $5}' | awk 'NR==1')
  2. Nombre de quien esta logueado en el Sistema.
  1. DIR_INICIO=$(echo $PWD)
  2. Ruta de ejecución del Script.

#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

  1. NOM_DISTRO_N=$(cat /etc/os-release | grep ID | grep -v "VERSION" | cut -f2 -d\=)
  2. Nombre (Normal/Extendido) de la Distro detectada con todas las letras en minúscula.
  1. NOM_DISTRO_N=$(cat /etc/os-release | grep ID | grep -v "VERSION_ID" | grep -v "ID_LIKE" | sed 's/ID=//' | sed 's/"//g')
  2. Nombre (Normal/Extendido) de la Distro detectada con todas las letras en minúscula.
  1. NOM_DISTRO_N=$(lsb_release -d | sed 's/Description://' | awk '{print $1}')
  2. Nombre (Normal/Extendido) de la Distro detectada con la primera letra en mayúscula.
  1. NOM_DISTRO_N=$(lsb_release -i | awk '{print $3}')
  2. Nombre (Normal/Extendido) de la Distro detectada con la primera letra en mayúscula.
  1. NOM_DISTRO_N=$(cat /etc/os-release | grep NAME | grep -v "VERSION" | sed -n '2p' | cut -f2 -d\" | awk '{print $1}')
  2. Nombre (Normal/Extendido) de la Distro detectada con la primera letra en mayúscula.
  1. NOM_DISTRO_E=$(lsb_release -d | sed 's/Description://' | awk '{print $1, $2, $3, $4}')
  2. Nombre (Normal/Extendido) de la Distro detectada con la primera letra en mayúscula.
  1. NOM_DISTRO_E=$(cat /etc/os-release | grep NAME | grep -v "VERSION" | sed -n '2p' | cut -f2 -d\")
  2. Nombre (Normal/Extendido) de la Distro detectada con la primera letra en mayúscula.
  1. NUM_ID_DISTRO_N=$(cat /etc/os-release | grep VERSION= | sed -n '1p' | sed 's/VERSION=//' | sed 's/"//g' | awk '{print $1}')
  2. Número de Identificación (Normal/Extendido) de la Distro detectada.
  1. NUM_ID_DISTRO_N=$(cat /etc/os-release | grep VERSION_ID= | sed -n '1p' | sed 's/VERSION_ID=//' | sed 's/"//g')
  2. Número de Identificación (Normal/Extendido) de la Distro detectada.
  1. NUM_ID_DISTRO_E=$(lsb_release -r | sed 's/Release://')
  2. Número de Identificación (Normal/Extendido) de la Distro detectada.
  1. NUM_ID_DISTRO_E=$(lsb_release -d | awk '{print $4}')
  2. Número de Identificación (Normal/Extendido) de la Distro detectada.
  1. NOM_COD_DISTRO=$(lsb_release -c | sed 's/Codename://')
  2. Nombre Código de la Distro detectada.
  1. NOM_COD_DISTRO=$(cat /etc/os-release | grep VERSION= | sed -n '1p' | sed 's/VERSION=//' | sed 's/"//g' | awk '{print $2}' | sed 's/(//g' | sed 's/)//g')
  2. Nombre Código de la Distro detectada.
  1. TIPO_DISTRO=$(uname -o)
  2. Nombre del tipo de Sistema Operativo Linux encontrado.
  1. TIPO_KERNEL=$(uname -s)
  2. Nombre del Tipo de Kernel del Sistema Operativo encontrado.
  1. RELEASE_KERNEL=$(uname -r)
  2. Versión del Kernel del Sistema Operativo encontrado.
  1. VERSION_KERNEL=$(uname -v | awk '{print $4}')
  2. Versión del Kernel del Sistema Operativo encontrado.
  1. ARQ_DISTRO_COD=$(uname -m)
  2. Arquitectura de la Distro detectada en forma codificada.
  1. ARQ_DISTRO_COD=$(uname -m) ; if [[ "$ARQ_DISTRO_COD" = "x86" ]]; then ARQ_DISTRO_HUM=32; else ARQ_DISTRO_HUM=64; fi
  2. Convertir el Tipo de Arquitectura de la Distro detectada en forma codificada
  1. VERSION_BASH=$(bash --version | grep bash | awk '{print $4}')
  2. Versión del Bash Shell.

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

VARIABLES CON INFORMACIÓN SOBRE LA MEMORIA RAM Y LAS PARTICIONES DEL DISCO DURO DEL EQUIPO:

  1. MEM_TOTAL=$(free -h | sed '1 d' | grep Mem: | awk '{print $2}')
  2. Memoria total del Equipo.
  1. MEM_USADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $3}')
  2. Memoria usada del Equipo.
  1. MEM_LIBRE=$(free -h | sed '1 d' | grep Mem: | awk '{print $4}')
  2. Memoria libre del Equipo.
  1. MEM_COMPARTIDA=$(free -h | sed '1 d' | grep Mem: | awk '{print $5}')
  2. Memoria compartida del Equipo.
  1. MEM_ALMACENADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $6}')
  2. Memoria almacenada del Equipo.
  1. MEM_CACHEADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $7}')
  2. Memoria cacheada del Equipo.
  1. SWAP_TOTAL=$(free -h | sed '1 d' | grep Swap: | awk '{print $2}')
  2. Memoria Swap total del Equipo.
  1. SWAP_USADA=$(free -h | sed '1 d' | grep Swap: | awk '{print $3}')
  2. Memoria Swap usada del Equipo.
  1. SWAP_LIBRE=$(free -h | sed '1 d' | grep Swap: | awk '{print $4}')
  2. Memoria Swap libre del Equipo.

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

  1. ESPACIO_TOTAL=$(df -h | sed '1 d' | grep /dev/sda5 | awk '{print $2}')
  2. Espacio total de una partición predefinida.
  1. ESPACIO_TOTAL=$(df -h | sed '1 d' | grep disk | awk '{print $2}')
  2. Espacio total de una partición predefinida.
  1. ESPACIO_USADO=$(df -h | sed '1 d' | grep /dev/sda5 | awk '{print $3}')
  2. Espacio usado de una partición predefinida.
  1. ESPACIO_USADO=$(df -h | sed '1 d' | grep disk | awk '{print $3}')
  2. Espacio usado de una partición predefinida.
  1. ESPACIO_DISPONIBLE=$(df -h | sed '1 d' | grep /dev/sda5 | awk '{print $4}')
  2. Espacio disponible de una partición predefinida.
  1. ESPACIO_DISPONIBLE=$(df -h | sed '1 d' | grep disk | awk '{print $4}')
  2. Espacio disponible de una partición predefinida.
  1. ESPACIO_PORCENTUAL=$(df -h | sed '1 d' | grep /dev/sda5 | awk '{print $5}')
  2. Espacio porcentual de una partición predefinida.
  1. ESPACIO_PORCENTUAL=$(df -h | sed '1 d' | grep disk | awk '{print $5}')
  2. Espacio porcentual de una partición predefinida.
  1. ESPACIO_PUNTOMONTAJE=$(df -h | sed '1 d' | grep /dev/sda5 | awk '{print $6}')
  2. Espacio de un punto de montaje de una partición predefinida.
  1. ESPACIO_PUNTOMONTAJE=$(df -h | sed '1 d' | grep disk | awk '{print $6}')
  2. Espacio de un punto de montaje de una partición predefinida.
  1. ESPACIO_TOTAL_RAIZ=$(df -h | sort -k 6 | sed -n '1p' | awk '{print $2}')
  2. Espacio total de la raíz " / " del Sistema Operativo.
  1. ESPACIO_USADO_RAIZ=$(df -h | sort -k 6 | sed -n '1p' | awk '{print $3}')
  2. Espacio usado de la raíz " / " del Sistema Operativo.
  1. ESPACIO_DISPONIBLE_RAIZ=$(df -h | sort -k 6 | sed -n '1p' | awk '{print $4}')
  2. Espacio disponible de la raíz " / " del Sistema Operativo.
  1. ESPACIO_PORCENTUAL_RAIZ=$(df -h | sort -k 6 | sed -n '1p' | awk '{print $5}')
  2. Espacio porcentual de la raíz " / " del Sistema Operativo.

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

VARIABLES CON INFORMACIÓN SOBRE APLICACIONES INSTALADAS EN EL SISTEMA OPERATIVO DEL EQUIPO USANDO DPKG O APTITUDE:

  1. VERSION_SSH=$(dpkg -l | grep "ssh " | egrep '(ii)' | sed -n '1p' | awk '{print $3}')
  2. Versión de un Paquete Instalado usando DPKG
  1. VERSION_LINUX_H=$(dpkg -l | grep linux-headers-`uname -r` | egrep '(ii)' | awk '{print $3}')
  2. Versión de un Paquete Instalado usando DPKG
  1. VERSION_SSH=$(aptitude show ssh | sed -n '5p' | awk '{print $2}')
  2. Versión de un Paquete Instalado usando APTITUDE
  1. VERSION_LINUX_H=$(aptitude show linux-headers-`uname -r` | sed -n '5p' | awk '{print $2}')
  2. Versión de un Paquete Instalado usando APTITUDE
  1. aptitude show $VERSION_SSH $VERSION_LINUX_H | egrep '(Paquete|Estado|Versión)'
  2. Ver información relativa sobre un paquete instalado utilizando las variables anteriores.
  1. aptitude show $VERSION_SSH $VERSION_LINUX_H | egrep '(Package|State|Version)'
  2. Ver información relativa sobre un paquete instalado utilizando las variables anteriores.

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

VARIABLES CON INFORMACIÓN SOBRE PARAMETROS DE RED EN EL SISTEMA OPERATIVO DEL EQUIPO:

  1. PROXY_GATEWAY=$(route -n | sed -n '3p' | awk '{print $2}')
  2. Proxy / Gateway del Sistema Operativo.
  1. DOMINIO=$(cat /etc/resolv.conf | sed '2 d' | grep search | sed -n '1p' | awk '{print $2}')
  2. Dominio del Sistema Operativo.
  1. IP_SERVIDOR_DNS=$(cat /etc/resolv.conf | sed '1 d' | awk '{print $2}')
  2. IP del Servidor DNS del Sistema Operativo.
  1. CONEXION_INTERNET=(`if ping -c 1 8.8.8.8 &> /dev/null; then RESULTADO=Habilitado; else RESULTADO=Deshabilitado; fi ; echo $RESULTADO`)
  2. Estado de la Conexión a Internet.
  1. TEST_PING=$(ping 8.8.8.8 -c 5 | grep packet | awk '{print $6}' | cut -f1 -d%)
  2. Validación de perdida de paquetes hacia Internet.
  1. TEST_LATENCIA=$(ping 8.8.8.8 -c 5 | grep packet | awk '{print $10}' | cut -f1 -d%)
  2. Validación de Latencia de paquetes hacia Internet.
  1. TEST_LATENCIA=$(ping 8.8.8.8 -c 1 | grep time= | awk '{print $7}' | sed 's/time=//')
  2. Validación de Latencia de paquetes hacia Internet.

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

  1. IP_INTERNA=$(hostname -I)
  2. Dirección IP unica Interna del Equipo.
  1. IP_LAN=$(hostname -I | awk '{print $1}')
  2. Primera Dirección IP (eth0 - LAN) del Equipo.
  1. IP_INTERNA=$(hostname -I | awk '{print $2}')
  2. Segunda Dirección IP (eth1 - WAN) del Equipo.
  1. IP_ETH0=$(ifconfig eth0 | grep inet | grep -v inet6 | cut -d ":" -f 2 | cut -d " " -f 1)
  2. Dirección IP (eth0 - LAN) del Equipo.
  1. IP_ETH0=$(/sbin/ifconfig | sed '/Bcast/!d' | awk '{print $2}' | awk '{print $2}' FS=":" | sed -n '1p')
  2. Dirección IP (eth0 - LAN) del Equipo.
  1. IP_ETH0=$(ifconfig|grep Bcast|awk ' { print $2 }'|awk -F":" ' { print $2 }' | sed -n '1p') ; echo $IP_ETH0
  2. Dirección IP (eth0 - LAN) del Equipo.
  1. MAC_ETH0=$(ifconfig eth0 | sed -n '1p' | awk '{print $5}') ; echo $MAC_ETH0
  2. Dirección física MAC (eth0 - LAN) del Equipo.
  1. IP_ETH0=$(ifconfig eth0 | grep inet | grep -v inet6 | cut -d ":" -f 2 | cut -d " " -f 1) && IP_ETH0=$(ifconfig eth0 | grep inet | grep -v inet6 | cut -d ":" -f 2 | cut -d " " -f 1) ; echo IP ETH0: $IP_ETH0 - MAC ETH0: $MAC_ETH0
  2. Aparejamiento de IP/MAC de red eth0 del Equipo.

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

VARIABLES CON INFORMACIÓN SOBRE PARAMETROS DEL SERVIDOR SSH DEL SISTEMA OPERATIVO DEL EQUIPO:

  1. PUERTO_SSH=$(cat /etc/ssh/sshd_config | egrep '(Port )' | sed 's/^.//g' | awk '{print $2}')
  2. Numero de Puerto configurado para conexiones ssh.
  1. QUIENSSH_IP=$(echo "$SSH_CONNECTION" | awk '{print $1}')
  2. Dirección IP de quien esta logueado en el Sistema vía SSH.
  1. QUIENSSH_PUERTO=$(echo "$SSH_CONNECTION" | awk '{print $2}')
  2. Puerto de conección SSH de quien esta logueado en el Sistema.
  1. USUARIOS_CONECTADOS=$(who | awk '{print $1}')
  2. Usuarios conectados vía ssh al Equipo.
  1. USER_ONLINE=$(who | awk '{print $1}' | wc -w)
  2. Cantidad de Usuarios conectados vía ssh al Equipo.
  1. USER_ONLINE=$(top -n 1 -b | grep "load average:" | awk '{print $6}')
  2. Cantidad de Usuarios conectados vía ssh al Equipo.
  1. ID_USERNAME_SESSION=$(for i in $(who | sed 1q | cut -c 1-8); do grep $i /etc/passwd | awk '{print "\t" $1}' | tr -d '[A-Za-z]' | sed 's/::x*//' | cut -c 1-5 | awk '{print $1}' ; done | sed 1q)
  2. ID del Nombre del primer usuario (alfabeticamente) detectado conectado (con sesión abierta) en el sistema.
  1. USERNAME_ID_SESSION=$(for i in $(who | sed 1q | cut -c 1-8); do grep $i /etc/passwd | awk '{print "\t" $1}' | tr -d '[A-Za-z]' | sed 's/::x*//' | cut -c 1-5 | awk '{print $2}' ; done ; echo $i)
  2. Nombre del primer usuario (alfabeticamente) detectado conectado (con sesión abierta) en el sistema.

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

VARIABLES CON INFORMACIÓN SOBRE PARAMETROS DE CARPETAS DEL SISTEMA DE FICHERO DEL SISTEMA OPERATIVO DEL EQUIPO:

  1. NOMBRES_CARPETAS=$(ls -l /home | sed '1 d' | awk '{print $9}')
  2. Nombres de carpetas de usuarios creados.
  1. NUMERO_CARPETAS=$(ls -l /home | sed '1 d' | awk '{print $9}' | wc -w )
  2. Numeros de carpetas de usuarios creados.
  1. CARPETA_USUARIO1=$(ls -l /home | sed '1 d' | sort -k2 | sed q | awk '{print $9}')
  2. Usuario con más cantidad de archivos en la Carpeta HOME
  1. DATA_USUARIO1=$(du -sh /home/* | sort -r | sed q | awk '{print $1}')
  2. Tamaño de la carpeta de Usuario con más cantidad de archivos en la Carpeta HOME
  1. DATA_ROOT=$(du -sh /root | awk '{print $1}')
  2. Tamaño de la carpeta del Superusuario root
  1. DATA_CARPETA1=$(du -sh /var | awk '{print $1}')
  2. Tamaño de una Carpeta predefinida. Ejemplo: La carpeta /VAR

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

VARIABLES CON INFORMACIÓN SOBRE PARAMETROS DE CARGA, PROCESOS Y TIEMPOS DEL SISTEMA OPERATIVO DEL EQUIPO:

  1. CARGA_1MIN=$(top -n 1 -b | grep "load average:" | awk '{print $12}' | sed 's/,//2')
  2. Carga del Sistema Operativo en 1 Minuto, usando el comando top.
  1. CARGA_5MIN=$(top -n 1 -b | grep "load average:" | awk '{print $13}' | sed 's/,//2')
  2. Carga del Sistema Operativo en 5 Minuto, usando el comando top.
  1. CARGA_15MIN=$(top -n 1 -b | grep "load average:" | awk '{print $14}' | sed 's/,//2')
  2. Carga del Sistema Operativo en 15 Minuto, usando el comando top.
  1. CARGA_1MIN=$(uptime | awk '{print $10}' | sed 's/,//2')
  2. Carga del Sistema Operativo en 1 Minuto, usando el comando uptime.
  1. CARGA_5MIN=$(uptime | awk '{print $11}' | sed 's/,//2')
  2. Carga del Sistema Operativo en 5 Minuto, usando el comando uptime.
  1. CARGA_15MIN=$(uptime | awk '{print $12}' | sed 's/,//2')
  2. Carga del Sistema Operativo en 15 Minuto, usando el comando uptime.
  1. PROC_ZOMBIE=$(top -n 1 -b | grep "zombie" | awk '{print $10}')
  2. Cantidad de procesos Zombies.
  1. TIEMPO_ENCENDIDO=$(uptime | awk '{print $3,$4}' | cut -f1 -d,)
  2. Tiempo de encendido del Equipo.

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

VARIABLES CON INFORMACIÓN SOBRE ELEMENTOS DE HARDWARE DEL SISTEMA OPERATIVO DEL EQUIPO:

  1. FAB_TVIDEO=$(lspci -v | grep "VGA" | cut -d " " -f05)
  2. Fabricante de la tarjeta de video.
  1. MEM_TVIDEO=$(lspci -v -s `lspci | awk '/VGA/{print $1}'` | sed -n '/Memory.*, prefetchable/s/.*\[size=\([^]]\+\)M\]/\1/p')
  2. Cantidad de Memoria de la tarjeta de video.
  1. DRV_TVIDEO=$(lspci -nnk | grep -i vga -A3 | grep 'in use' | cut -d " " -f05)
  2. Controlador de la tarjeta de video.
  1. A3D_TVIDEO=$(glxinfo | grep "direct rendering: Yes" | awk '{print $3}')
  2. Comprobación de la Habilitación de la Aceleración 3D de la tarjeta de video.

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

  1. FABRICANTE_CPU=$(grep "vendor_id" /proc/cpuinfo | sed q | awk '{print $3}')
  2. Fabricante del Procesador (CPU) del Equipo.
  1. MODELO_CPU=$(grep "model name" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}')
  2. Modelo del Procesador (CPU) del Equipo.
  1. NUM_CPU=$(grep "processor" /proc/cpuinfo | sort -r | sed q | awk '{print $3}') ; TOTAL_CPU=$((`expr $NUM_CPU + 1`))
  2. Cantidad de Procesadores (CPU) del Equipo.
  1. NUM_CPU=$(grep "processor" /proc/cpuinfo | sort -r | sed q | awk '{print $3}') ; TOTAL_CPU=$((`expr $NUM_CPU + 1`)) ; NUCLEO_CPU=$(grep "cpu cores" /proc/cpuinfo | sed q | awk '{print $4}') ; TOTAL_NUCLEO_CPU=$((`expr $TOTAL_CPU \* $NUCLEO_CPU`))
  2. Cantidad Total de Nucleos disponibles en los Procesadores (CPU) disponibles del Equipo.
  1. CACHE_CPU=$(grep "cache size" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}')
  2. Cantidad de Memoria Caché de los Procesadores (CPU) del Equipo.

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#

VARIABLES CON INFORMACIÓN SOBRE X APLICACIÓN INSTALADA EN EL SISTEMA OPERATIVO DEL EQUIPO:

  1. NOMBRE_ZABBIX=$(cat /etc/zabbix/zabbix_agentd.conf | egrep '(Hostname)' | sed '/#/ d')
  2. Nombre configurado del Equipo en el Cliente ZABBIX instalado.
  1. VERSION_VBOX=$(dpkg -l | grep virtualbox | egrep '(ii)' | awk '{print $2}')
  2. Versión del VirtualBox instalado en el Equipo.
  1. VERSION_VBOX=$(dpkg -l | grep virtualbox | egrep '(ii)' | awk '{print $2}') && aptitude show $VERSION_VBOX | egrep '(Paquete|Estado|Versión)'
  2. Versión del VirtualBox instalado en el Equipo.
  1. VERSION_VBOX=$(dpkg -l | grep virtualbox | egrep '(ii)' | awk '{print $2}') && aptitude show virtualbox-5.0 | egrep '(Package|State|Version)'
  2. Versión del VirtualBox instalado en el Equipo.

PRONTO MUCHOS MÁS…

Aquí les dejo esta encuesta para medir el apoyo logrado:

##########################################

##########################################

Recuerda donar por lo menos 1$ US a este u otro Proyecto de apoyo o desarrollo de Software Libre, GNU, Linux o Código Abierto.

_____________________________________________________________

Dona al Proyecto TIC - TAC
Dona al Proyecto TIC – TAC

_____________________________________________________________

Atrévete, usa Software Libre y GNU/Linux, sobre todo Canaima GNU / Linux, el Sistema Operativo Libre oficial de la República Bolivariana de Venezuela.

La Lucha es Global y somos Ciudadanos Globales.

Todos a luchar por un Mundo Mejor.

Anuncios