Root

Script en Bash que recopila información sobre el sistema

El siguiente script recopila información de nuestro sistema, memoria ram, espacio en disco, distribución, carga promedio, uso de CPU, e interfaces de red, entre otras cosas.

abrimos el editor nano, pegamos el código: #!/bin/bash

# Script para mostrar información del sistema Debian

echo "-------------------- Información del Sistema --------------------" echo

# Nombre del Host hostname=$(hostnamectl | grep "Static hostname" | awk '{print $3}') echo "Nombre del Host: $hostname"

# Versión del Kernel kernel=$(uname -r) echo "Versión del Kernel: $kernel"

# Arquitectura del Sistema architecture=$(uname -m) echo "Arquitectura: $architecture"

# Distribución de Debian distribution=$(cat /etc/os-release | grep "^NAME=" | cut -d'"' -f2) version=$(cat /etc/os-release | grep "^VERSION_ID=" | cut -d'"' -f2) codename=$(cat /etc/os-release | grep "^VERSION_CODENAME=" | cut -d'"' -f2) echo "Distribución: $distribution $version ($codename)"

# Tiempo de Actividad (Uptime) uptime=$(uptime -p) echo "Tiempo de Actividad: $uptime"

# Carga Promedio (Load Average) load_average=$(uptime | awk '{print $10,$11,$12}') echo "Carga Promedio (1, 5, 15 min): $load_average"

echo echo "-------------------- Uso de Recursos --------------------" echo

# Uso de CPU (promedio general) cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}') echo "Uso de CPU: $cpu_usage%"

# Uso de Memoria RAM free_memory=$(free -m | grep "Mem:" | awk '{print $4}') total_memory=$(free -m | grep "Mem:" | awk '{print $2}') used_memory=$((total_memory - free_memory)) memory_percentage=$(echo "scale=2; $used_memory * 100 / $total_memory" | bc) echo "Uso de Memoria RAM: $used_memory MB / $total_memory MB ($memory_percentage%)"

# Uso de Espacio en Disco (partición raíz /) disk_usage=$(df -h / | awk 'NR==2{print $5}') total_disk=$(df -h / | awk 'NR==2{print $2}') free_disk=$(df -h / | awk 'NR==2{print $4}') echo "Uso de Disco (/): $disk_usage de $total_disk (Libre: $free_disk)"

echo echo "-------------------- Usuarios Conectados --------------------" echo

# Usuarios Conectados users=$(who | wc -l) echo "Usuarios Conectados: $users" who

echo echo "-------------------- Interfaces de Red --------------------" echo

# Interfaces de Red y sus IPs ip a | grep "inet " | grep -v "127.0.0.1" | awk '{print $2, $4}'

echo echo "-------------------------------------------------------------"

Guardamos el archivo como: info_sistema.sh Le damos permisos de ejecución con: chmod +x info_sistema.sh y ejecutamos el script ./info_sistema.sh