help_outline
Ayudanos!
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Ayuda con código Bash - Reiniciar servidor de Tomcat

  • 2 Respuestas
  • 216 Vistas

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado H4R4K1R1

  • *
  • Underc0der
  • Mensajes: 38
  • Actividad:
    3.33%
  • Reputación 1
    • Ver Perfil
« en: Enero 10, 2019, 10:59:17 am »
Buenos días compañer@s de Underc0de,

Os comento mi situación...

Recientemente se me ha pedido la siguiente tarea:

- Tenemos un servidor de TOMCAT que a veces se cae por distintos procesos...
- La forma de detectarlo es mediante un comando "curl -v http://url" que te da una respuesta si está bien, si no lo está, te da otra distinta...
- Si la respuesta no es esa, el servidor debe de levantarse nuevamente...

La idea es, hacer un script que levante ese servidor cuando el status sea distinto de X... Poniendo por ejemplo, que si se detecta que la respuesta es durante 5 segundos distinta, se levante nuevamente..

No tengo mucha idea de como podría hacer ese código... Agradecería enormemente si alguien pudiese guiarme con algún ejemplo para ello.

He sido incapaz de encontrar otro código que poder reutilizar, y de cero no sabría hacerlo...

Mil gracias compañeros :)
« Última modificación: Enero 10, 2019, 01:58:14 pm por Gabriela »

Desconectado Solid Water

  • *
  • Underc0der
  • Mensajes: 60
  • Actividad:
    8.33%
  • Reputación 2
    • Ver Perfil
« Respuesta #1 en: Enero 10, 2019, 03:24:58 pm »
Por lo que dices creo que estas en linux.
Casi todos los linux traen perl instalado.
Solo abres el nano o el vim y creas un script como este con extension .pl
para ejecutarlo utilizas el comando perl nombre_de_archivo.pl

Código: Perl
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4.  
  5. my $respuesta = qx("curl -v http://url");
  6.  
  7. while($respuesta ne "cadena de salida certera"){
  8.  
  9.      system("comando que levanta el server");
  10.      my $respuesta = qx("curl -v http://url");
  11. }
  12.  
  13.  

Hay otra forma de guardar la salida del comando en lugar de qx que si no me equivoco es utilizando estas comillas ´´.
Me gustaría darte más información pero no tengo mi web online donde tengo mis códigos.
Si no te gusta que sea tan forzoso y ejecute el comando mil veces solo cambia el while por un if, y programalo para que se ejecute cada 1 o 2 minutos.

También por si la salida no es siempre la misma pero es parecida, puedes utilizar expresiones regulares para saber si la cadena de resultado contiene X palabra.

Saludos,
« Última modificación: Enero 10, 2019, 04:42:05 pm por Solid Water »



Conectado DtxdF

  • *
  • Colaborador
  • *
  • Mensajes: 229
  • Actividad:
    58.33%
  • Reputación 5
  • Fácil manipular + No es fácil manipularse
    • Ver Perfil
    • Transfi: Un sistema de almacenamiento en Herramientas de seguridad informática alojadas en mi repositorio
« Respuesta #2 en: Enero 10, 2019, 04:09:36 pm »
@H4R4K1R1

Recomendaciones antes de seguir leyendo:

- como estas corto de tiempo (supongo), tienes que aprender lo más básico de python
- crear un archivo bash con las instrucciones o comandos para encender el servidor nuevamente
- aprender lo más básico de la librería urllib, time, os y thread en python

Ahora:

Crearemos un script en python usando la librería urllib, time, os y thread, donde primero crearemos una función donde contendrá un bucle que se actualizará cada 1 segundo (aunque depende también de como lo coloques), donde verificará en ese periodo de tiempo el código de la respuesta http usando urllib (urllib.urlopen("http://url").code), generalmente la respuesta normal sería 200 si es diferente entonces que ejecute el archivo bash donde contendrá las instrucciones y por último con thread ejecutamos la función en un hilo independiente (thread no es necesario pero puedes optar por el en caso de que quieras agregar más funciones).
- Gobiernos: Personas desoladas de la inteligencia

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 3670
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon
"ayuda con fruitywifi-karma" no puedo activar el modulo karma.

Iniciado por cristobal92

Respuestas: 4
Vistas: 1444
Último mensaje Agosto 02, 2016, 12:03:45 pm
por cristobal92
[JAVA] Ayuda Sockets en Java

Iniciado por FERNANDX

Respuestas: 1
Vistas: 659
Último mensaje Abril 25, 2018, 08:49:50 pm
por Mortal_Poison
[Ayuda] Crear .zip o .rar de un "archivo"

Iniciado por Zentraedi

Respuestas: 5
Vistas: 1629
Último mensaje Marzo 03, 2017, 02:15:20 pm
por Zentraedi
[SOLUCIONADO] Ayuda Contraseña "Sqlmap"

Iniciado por djtrueno

Respuestas: 1
Vistas: 1431
Último mensaje Enero 17, 2014, 06:07:37 pm
por ANTRAX