
Artículo · Programación
Daniel Romo SysAdmin, nos comparte su experiencia y script en Bash
Soy Daniel Romo, actualmente me desempeño como SysAdmin en Colombia, entusiasta de la seguridad informática, ethical hacking y networking. Me apasiona leer, investigar, participar en las diferentes comunidades de informática, aportar con temas interesantes y poco comunes en mi blog, personalmente pienso que Linux le da sentido no sólo a la informática sino también a la tecnología en sí.
Hace un tiempo vengo participando de la comunidad BacktackAcademy, en el grupo de facebook con las diferentes temáticas propuestas, al igual cuando realizaban hangouts con sus invitados con temas que llaman mucho la atención de la informática. Es un paso muy grande la implementación de la plataforma, los cursos propuestos, el ambiente que está generando en la comunidad es muy positivo y despierta interés en cada uno de nosotros, estoy seguro de ello.
En esta ocasión quise realizar un aporte a la comunidad relacionado con el curso que salió esta semana de Programación Scripting Bash y debido a esto participo con este post siendo un aporte más al temario de dicho curso ya disponible.
Sabemos que un script es un archivo de texto que contiene líneas de comandos que son interpretados y a la vez ejecutados por Bash. Que más que automatizar tareas diarias en un solo enter de nuestra consola? pues si, hoy en día nosotros los administradores de sistemas necesitamos automatizar al máximo nuestras labores en los servidores
1- Este script lo implementé debido a que en una empresa debía verificar que varios sitios estuvieran en línea al igual que servidores en determinados tiempos, este script fue la solución a dicha tarea, su función es para realizar un ping 2 veces a una dirección IP o Dominio, donde con solo indicar la IP o Dominio y ejecutar dicho script te mostrará si el ping es exitoso o fallido.
Ejecución:
sh script_1.sh
!/bin/bash
read -p "Enter your IP " IP
echo "#### Ping to $IP ####"
ping -c2 $IP >> /dev/null 2>&1 && echo "#### Ping [ ok ] ####" || echo "#### Failed ####"
2- Este script es para realizar un chequeo a los servicios del servidor, si están ejecutándose correctamente o no lo están. Este script se puede mejorar mucho, quizás una revisión 2 veces al día y enviarnos un informe al correo mediante tareas programadas? enviarnos alertas si un servicio no esta ejecutándose, en fin, como les decía se puede mejorar.
Ejecución:
sh script_2.sh
#!/bin/sh
echo "///////////////////////////////////////////////////"
echo "Comprobando servicio WEB"
SERVICE='apache2'
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
echo "El servicio $SERVICE esta ejecutandose :)"
else
echo "¡¡ Cuidado !! El servicio $SERVICE esta DETENIDO x("
fi
echo "///////////////////////////////////////////////////"
echo "Comprobando servicio MYSQL"
SERVICE2='mysqld'
if ps ax | grep -v grep | grep $SERVICE2 > /dev/null
then
echo "El servicio $SERVICE2 esta ejecutandose :)"
else
echo "¡¡ Cuidado !! El servicio $SERVICE2 esta DETENIDO x("
fi
echo "///////////////////////////////////////////////////"
echo "Comprobando servicio de CORREO"
SERVICE3='postfix'
if ps ax | grep -v grep | grep $SERVICE3 > /dev/null
then
echo "El servicio $SERVICE3 esta ejecutandose :)"
else
echo "¡¡ Cuidado !! El servicio $SERVICE3 esta DETENIDO x("
fi
3- Este script lo realicé con el fin de mandar archivos de logs del servidor donde solo tengo acceso vía remota, tiene la opción de enviar con o sin adjunto, un script muy práctico.
Ejecución:
sh script_3.sh
#!/bin/bash
echo "##################################################################"
echo "########### Script para enviar Mail con o sin adjunto #########"
echo "##################################################################"
read -p "#Para : " Para
read -p "#Texto : " Texto
read -p "#Asunto : " Asunto
echo "######## Si desea enviar adjunto especifique la /ruta/log.txt ########"
echo "######## De lo contrario deje el campo vacio y presione enter ########"
echo -n "Ruta del adjunto : "
read Ruta
#
while true; do
read -p "Desea enviar adjunto? y o n : " yn
case $yn in
[Yy]* ) echo $Texto | mutt -s $Asunto $Para -a $Ruta; echo "Enviando correo con Adjunto"; exit;;
[Nn]* ) echo $Texto | mail -s $Asunto $Para; echo "Enviando correo"; exit;;
* ) echo "Seleccion y o n, es necesario";;
done
Nota: Para este script se debe tener instalado e implementado mutt y postfix.
“Linux simplemente te reta a aprender cada día más!”
¿Quieres aprender estas técnicas en profundidad?
Continúa tu ruta con Programación Scripting Python.

Escrito por
Felipe BarriosCEO at Backtrack Academy
I'm Felipe Barrios CEO of Backtrack Academy ethical hacking community. entrepreneur and developer ruby on rails, Ror became my preferred language, the basis of all my projects, I consider myself a proactive person and passionate about what he does. Currently working as a software developer in scuit, computer security lover I like to work on projects related to digital enterprise.



