En este momento estás viendo Herramientas para un SysAdmin

Herramientas para un SysAdmin

Un administrador de sistemas, todos los días, se encuentra con situaciones que requieren la recopilación de información para llevar a cabo su trabajo.

Vamos a ver un programa que aúna algúnas utilidades muy prácticas. Ejecutando este script, podrémos:

  • Ver los procesos del sistema.
  • Ver los procesos del usuario.
  • Ver el contenido de un directorio.
  • Recorrer, recursivamente, un directorio para buscar ficheros, por ejemplo.

Script Herramientas.sh

Copia y pega el siguiente código donde lo vayas a ejecutar.

#!/bin/bash
# Este programa ha sido creado por Francisco Javier Izquierdo Hidalgo.
# Este programa es software libre; puedes redistribuirlo y / o
# modificarlo bajo los términos de la Licencia Pública General de GNU
# publicado por la Free Software Foundation; ya sea la versión 2
# de la Licencia, o (a su elección) cualquier versión posterior.

# Este programa se distribuye con la esperanza de que sea útil,
# pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
# COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO EN PARTICULAR. Ver el
# GNU General Public License para más detalles.

# Define variables
LSB=/usr/bin/lsb_release

#  Indicacion de pausa de visualizacion
function pause(){
 local message="$@"
 [ -z $message ] && message="Presiona [Enter] para continuar..."
 read -p "$message" readEnterKey
}

#  Mostrar un menu en pantalla
function menu(){
    date
    echo "-----------------------------"
    echo "      Menu Principal         "
    echo "-----------------------------"

        echo "1.Procesos del sistema"
        echo "2.Procesos del usuario"
        echo "3.Contenido del directorio"
        echo "4.Buscar un fichero"
        echo "5.Salir"
}

# Proposito - Monstrar mensaje de cabecerae_header(){
function write_header(){
 local h="$@"
 echo "---------------------------------------------------------------"
 echo "     ${h}"
 echo "---------------------------------------------------------------"
}

# Proposito - Monstrar procesos del sistema
function ProcSys(){
write_header " Procesos activos del sistema Daemons"
ps -x | more
pause
}

# Proposito - Monstrar procesos del ususario
function ProcUsu(){
write_header " Procesos activos del usuario Daemons"
ps -u | more
pause
}

# Proposito - Monstrar contenido de un directorio
function avanzar(){
write_header " Contenido del directorio..."
for i in $(ls -l | tr -s " " " " | cut -f9 -d " " )
        do
                if [ -f $i ]
                  then
                  echo fichero $i
                elif [ -d $i ]
                  then
                  cd $i
                  echo "Entrando en carpeta $i"
                  echo ruta
                  pwd
                  avanzar
                  cd ..
                  echo "Saliendo de carpeta"
                fi
        done
pause
}

# Proposito - Buscar un fichero
function buscar(){
write_header " Buscando un fichero......"
for val in `ls`
                do
                echo "listamos a continuacion el archivo: $val<pulse intro> \c"
                read s
                done
pause
}

# Proposito - Obtener entrada por teclado y elegir opción
read_input(){
local c
 read -p "Elige una opción [ 1 - 5 ] " c
  case $c in
        1) ProcSys ;;
        2) ProcUsu ;;
        3) avanzar ;;
        4) buscar ;;
        5) echo "Hemos terminado." ; echo " Bye! $USER"; exit 0 ;;
        *) echo "Seleccione una sola opción entre 1 to 5."
  pause
esac
}

# ignorar CTRL+C, CTRL+Z y salida simple usando trap
trap '' SIGINT SIGQUIT SIGTSTP


# programa principal
while true
do
 clear
  menu # mostrar memu
  read_input  # esperar la entrada del usuario
done

Tenemos que darle premisos de ejecución,

chmod +x herramientas.sh

Y ya lo podemos ejecutar con,

./herramientas.sh

Nos aparecerá en la terminal, el siguiente menú:

Eligiendo cada una de las opciones obtendremos la información requerida.

Si le pedimos los procesos del sistema, obtendremos una salida parecida a esta,

Para ver los procesos activos del usuario, elegimos la opción 2 y veremos….

Con la opción 3, la salida será el contenido del directorio actual.

Y con la opción 4 nos permite, tras ver el contenido del directorio, ir avanzando por subdirectorios y ver sus contenidos.

Espero que te sea de utilidad.

Si tienes algún comentario que hacer, al pie del post tienes un formulario para hacerlo.

Y si quieres contactar conmigo por cualquier otro asunto relacionado con el sitio, en la página de contacto, tienes otro formulario.

Esta entrada tiene 4 comentarios

  1. Alejandro

    Parece sencillo visto así…..si necesito ayuda ya sé donde acudir. Gracias

  2. Alfonso

    Muy bien, ahora poco a poco añadiendo contenidos.
    Cuando tenga una pega ya sé a quién preguntar.

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.