Foros del Web » Administración de Sistemas » Unix / Linux »

crontab kill pidof

Estas en el tema de crontab kill pidof en el foro de Unix / Linux en Foros del Web. Que onda Hoy he estado programando algunos crontab para mi linux centos pero me he topado con uno que no se ejecuta. he creado un ...
  #1 (permalink)  
Antiguo 28/12/2011, 17:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años, 1 mes
Puntos: 2
crontab kill pidof

Que onda

Hoy he estado programando algunos crontab para mi linux centos pero me he topado con uno que no se ejecuta.

he creado un shell con lo siguiente

Código:
#!/bin/bash
 kill (pidof java)
el cual tiene como nombre kill.sh

en mi crontab -e pongo la siguiente linea

Código:
* * * * * sh /etc/kill.sh
para que ejecute este shell cada minuto
pero resulta que no se ejecuta

pero si lo ejecuto desde la consola corre perfectamente en un momento pensé que eran los permisos pero edite el shell y quedo de la siguiente manera

Código:
#!/bin/bash
 sudo kill (pidof java)
pero aún así no funciona

si alguien me puede ayudar se lo agradecería.
  #2 (permalink)  
Antiguo 30/12/2011, 08:09
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: crontab kill pidof

En caso de que falle el comando, cron envía un correo. ¿lo leíste?

Estoy seguro, además, de que debería ser $(pidof java) y no (pidof java)


Saludos.
  #3 (permalink)  
Antiguo 30/12/2011, 10:00
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: crontab kill pidof

Me he fijado que lo que causa el problema no es el kill sino el pidof
y si una disculpa la instrucción que tengo es

Código:
kill $(pidof java)
lo que el cron no me regresa es el pid de java

en mi shell lo deje de la siguiente manera y no me regresa nada

Código:
#!/bin/bash
     var1=$(pidof java)
     echo "$var1"
le he intentado de varias maneras para que me regrese el pid pero en el cron no me lo regresa

si lo ejecuto en la terminal no hay ningún problema pero el cron no me lo regresa sabes porque puede ser?
  #4 (permalink)  
Antiguo 30/12/2011, 10:53
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: crontab kill pidof

¿Cómo estás ejecutando el programa desde la terminal?
Si no es exactamente igual que en cron, los resultados no son comparables.

¿Por qué el "sh" delante de la línea de comandos para cron?
No hace falta si el script tiene permisos de ejecución. Si además resulta que estás invocando a la Bourne Shell (o a bash comportándose como al Bourne Shell), es posible que la sintaxis $() no sea reconocida. Vuelvo a preguntarte si recibiste algún correo en el servidor notificándote de un error con cron.
Probá utilizando la otra forma de capturar la salida de un proceso: las comillas ``


Saludos.
  #5 (permalink)  
Antiguo 30/12/2011, 11:28
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: crontab kill pidof

ya revise el mail que manda y me aparece:

line 2: pidof : command not foud
  #6 (permalink)  
Antiguo 30/12/2011, 13:02
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: crontab kill pidof

pos allí está el problema. ¿dónde está pidof? ¿qué usuario ejecuta el cron? ¿está la carpeta donde está pidof en el PATH de ese usuario?

La solución más simple al problema es colocar en tu script la ruta completa al ejecutable (que podés obtener con which)


Saludos.
  #7 (permalink)  
Antiguo 30/12/2011, 14:59
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: crontab kill pidof

Muchisimas gracias tenias razón, puse la ruta de pidof y funciono ahora mi crontab quedo asi

Código:
#!/bin/bash
   kill $(/sbin/pidof java)
y funciona muy bien en verdad me acabas de sacar de un apuro aparte de que mis conocimientos ahora son mas, en verdad mil gracias.

una pregunta mas ya que estamos en esto?

sabes como ejecutar este crontab desde un usuario que no sea root?

o en su defecto que mi centos inicie con el usuario root automáticamente porque solo he podido hacer que inicie con otro usuario y necesito que inicie con root porque ahi tengo todo y lo necesito para manejarlo remotamente.

Gracias y un gran saludos.
  #8 (permalink)  
Antiguo 01/01/2012, 18:09
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: crontab kill pidof

Pues para administrar un servidor se usa root, para eso está.

Igual no entiendo la duda: sin importar si la sesión iniciada es de root o no, las tareas programadas mediante cron se ejecutan igual. Quiero decir, que se lo podés poner al crontab de root y manejar el servidor con otro usuario, no hay problema en eso.

Igualmente, el manejo remoto nada tiene que ver con la sesión o las sesiones locales que arranquen con el sistema, cada usuario que se conecta vía remota obtiene su propia sesión independiente de las que ya estén abiertas.


¿Qué estás usando para conectarte al servidor?


saludos.
  #9 (permalink)  
Antiguo 02/01/2012, 16:37
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: crontab kill pidof

lo que pasa es lo siguiente:

tengo este servidor al cual me conecto por vnc.

ya inicie sesión con otro usuario pero los cron no se ejecutan.
tengo un cron que ejecuta un .jar para correr una aplicación pero esta no se muestra

lo de inicio automático es porque no he podido hacer que inicie el equipo con el usuario root, ya tengo todo ahi configurado pero si inicio con otra sesión no me permite conectarme por vnc y ademas no me ejecuta los crontabs.

bueno lo de conectarse por vnc creo que es porque lo tengo que habilitar para los usuario
  #10 (permalink)  
Antiguo 02/01/2012, 19:46
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: crontab kill pidof

Cron sí corre los procesos de usuarios cuyas sesiones no estén iniciadas, si te ocurre lo contrario el problema es otro.

¿Por qué VNC? SSH con X-Forwarding, debería ser más simple de configurar. En su defecto, cualquier sistema de escritorio remoto que inicie una sesión al conectarse, en vez de conectarse a una sesión ya iniciada.
Es francamente tonto que tengas que configurar el servidor para que arranque una sesión para poder conectarte, no es así como se supone que funciona el sistema de escritorio remoto.


Saludos.

Etiquetas: centos, crontab, kill, linux
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:48.