#!/bin/bash
# recopilator.sh
# by Miguel Angel Torres aka mate
# recopila información del sistema.
separador()
{
# función encargada de imprimir el separador entre secciones
echo '****************************************************************************'
# comprueba si el primer parámetro contiene algo
if [ -n "$1" ]; then
echo $1
else
echo ''
fi
}
ejecutaComando()
{
separador "$1"
separador
$2
separador
}
clear
separador "Informe Linux ($LOGNAME)"
separador
# versión y demás del kernel.
ejecutaComando 'uname -a (versión de kernel)' "uname -a"
# tiempo de funcionamiento
ejecutaComando 'uptime (tiempo sistema levantado)' uptime
# lista de procesos en ejecución
ejecutaComando 'ps (lista de procesos)' ps
# modulos cargados
ejecutaComando 'lsmod (modulos cargados)' lsmod
# seguridad: shadow passwords
# no funciona
if [ "$LOGNAME" = "root" ]; then
ejecutaComando '/etc/shadow' "[-f '/etc/shadow']; || echo 'las contraseñas no están en shadow'"
fi
# seguridad: shadow passwords
# no funciona
if [ "$LOGNAME" = "root" ]; then
ejecutaComando '/etc/shadow' "[-f '/etc/shadow']; && echo 'las contraseñas están en shadow'"
fi
# puntos de montaje (mount o /etc/mtab)
ejecutaComando 'mount (fs montados)' "mount"
# puntos de montaje al arrancar (/etc/fstab)
ejecutaComando '/etc/fstab' "cat /etc/fstab"
# hardware: estado discos
ejecutaComando 'df -k (estado discos)' "df -k"
# hardware: dispositivos PCI
ejecutaComando 'lspci (dispositivos PCI)' lspci
# hardware: CPU
ejecutaComando '/proc/cpuinfo' "cat /proc/cpuinfo"