miguel angel gonzalez
2018-11-14 08:17:18 UTC
Hola a todos,
Tengo una duda, me han pedido que haga un script relativamente sencillo
pero que me tiene atascado.
Comprobar que tomcat está arrancado y sino arrancarlo, hasta aquà bien, lo
estaba haciendo por procesos.
#!/bin/bash
RESTART="/etc/init.d/tomcat restart"
PGREP="/usr/bin/pgrep"
TOMCAT="java"
# buscamos que exista el proceso
$PGREP ${TOMCAT}
# sino existe id de proceso y el comando anterior devuelve 0
if [ $? -ne 0 ]
then
$RESTART
fi
---
Pues bien, asà no quieren que se realice.
Sino que compruebe estado es decir, si está arrancado que no haga nada sino
que lo arranque. Por el mensaje que devuelve. Lo que llevo hecho es esto,
el problema me surge que el estado de tomcat que devuelve el comando status
no entra en la variable y sin eso el resto no funciona. Como podéis ver hee
intentado varias opciones pero ninguna me funciona, entiendo que la
correcta y que deberÃa de funcionar es: ssh root@$i
SALIDA=$(/etc/init.d/Tomcat status)
#!/bin/bash
START="/etc/init.d/Tomcat start"
PARADO="Tomcat Server is not running."
#STATUS="Tomcat Server is running"
#SALIDA=/etc/init.d/Tomcat status"
for i in $(cat /home/usuario/xml.lst)
do
# ssh root@$i /etc/init.d/Tomcat status >>
SALIDA=$(/home/usuario/prueba_estado_tomcat.txt)
ssh root@$i /etc/init.d/Tomcat status
* ssh root@$i SALIDA=$(/etc/init.d/Tomcat status)*
echo "$SALIDA" >> /home/usuario/prueba_estado_tomcat.txt
# if [ "$SALIDA" == "$PARADO" ];
# then echo "está parado" >> /home/usuario/tomcat_parado.txt
#$START
# fi
done
Por cierto, el servicio de tomcat es con la T mayúscula. De momento hasta
que lo tenga terminado, voy por partes y estoy enviando el resultado a un
txt. Recorro una lista con las ipŽs de las máquinas. Por eso dentro de un
for meto el if.
¿Se os ocurre algo? Gracias.
Tengo una duda, me han pedido que haga un script relativamente sencillo
pero que me tiene atascado.
Comprobar que tomcat está arrancado y sino arrancarlo, hasta aquà bien, lo
estaba haciendo por procesos.
#!/bin/bash
RESTART="/etc/init.d/tomcat restart"
PGREP="/usr/bin/pgrep"
TOMCAT="java"
# buscamos que exista el proceso
$PGREP ${TOMCAT}
# sino existe id de proceso y el comando anterior devuelve 0
if [ $? -ne 0 ]
then
$RESTART
fi
---
Pues bien, asà no quieren que se realice.
Sino que compruebe estado es decir, si está arrancado que no haga nada sino
que lo arranque. Por el mensaje que devuelve. Lo que llevo hecho es esto,
el problema me surge que el estado de tomcat que devuelve el comando status
no entra en la variable y sin eso el resto no funciona. Como podéis ver hee
intentado varias opciones pero ninguna me funciona, entiendo que la
correcta y que deberÃa de funcionar es: ssh root@$i
SALIDA=$(/etc/init.d/Tomcat status)
#!/bin/bash
START="/etc/init.d/Tomcat start"
PARADO="Tomcat Server is not running."
#STATUS="Tomcat Server is running"
#SALIDA=/etc/init.d/Tomcat status"
for i in $(cat /home/usuario/xml.lst)
do
# ssh root@$i /etc/init.d/Tomcat status >>
SALIDA=$(/home/usuario/prueba_estado_tomcat.txt)
ssh root@$i /etc/init.d/Tomcat status
* ssh root@$i SALIDA=$(/etc/init.d/Tomcat status)*
echo "$SALIDA" >> /home/usuario/prueba_estado_tomcat.txt
# if [ "$SALIDA" == "$PARADO" ];
# then echo "está parado" >> /home/usuario/tomcat_parado.txt
#$START
# fi
done
Por cierto, el servicio de tomcat es con la T mayúscula. De momento hasta
que lo tenga terminado, voy por partes y estoy enviando el resultado a un
txt. Recorro una lista con las ipŽs de las máquinas. Por eso dentro de un
for meto el if.
¿Se os ocurre algo? Gracias.
--
/m.a.
/m.a.