logs del cron y mail no coinciden

Victor Hugo dos Santos listas.vhs en gmail.com
Mar Feb 3 12:56:55 CLST 2009


On Thu, Jan 29, 2009 at 7:31 PM, Miguel Oyarzo O. <admin en aim.cl> wrote:
>
> Victor Hugo dos Santos escribió:
>>
>> Hola a todos,

[...]

>> 0 3 * * * root /etc/init.d/dbnet stop
>> 0 5 * * * root /etc/init.d/dbnet start
>
> sino parece una notificacion de sintaxis, permisos o un error de variables
> de entorno que se detecta en ambas lineas al lanzar el 1er comando.
>
> Podrias usar usar " 2> /dev/null" o "> /dev/null 2>&1" al final de cada
> comando o revisar  /etc/environment

hoy me puse a investigar y encontré el problema:

primero, las tareas se estaban ejecutando en los horarios correctos.
segundo, el tema de recibir los dos correos a las 03:00AM era por que
al iniciar el proceso " /etc/init.d/dbnet start" este se quedaba con
la terminal "pegada" (no se me ocurre otro termino) y no llegaba a
finalizar por completo, entonces, al ejecutar el comando "
/etc/init.d/dbnet stop", finalizaba el proceso de inicio (que estaba
ejecutando, pero aun tenia la consola "pegada") y entonces se enviaba
el correo correspondiente al proceso START y luego se enviaba el
correo correspondiente al proceso STOP.

bueno.. me puse a investigar el porque la consola quedaba "pegada" y
estas fueron las pruebas que ejecute:

linea original que se ejecutaba en el script
==========
      $ sudo su - genera -c "cd /home/genera/multibox/ && nohup
./mb_nix >> /tmp/vhs.txt 2>&1  &"
      $ ps aux | grep mb_nix
      genera   15595  pts/0    S    12:36   0:00 -bash -c cd
/home/genera/multibox/ && nohup ./mb_nix >> /tmp/vhs.txt 2>&1  &
      genera   15596  pts/0    S    12:36   0:00 ./mb_nix
==========

observen que  aca tengo 2 procesos (15595 y 15596)  y si hago un
logout, me queda la pantalla negra y no me retorna la shell de mi pc
local (lo que seria el esperado)... se vuelvo a conectarme al servidor
por otra consola y termino los procesos (kill 15595 15596) entocnes en
la primera consola (la que estaba "pegada") me sale:

==========
      -bash: line 1: 15595 Terminado               nohup ./mb_nix
>>/tmp/vhs.txt 2>&1
      Connection to dbnetbd closed.
==========

bueno, volvi a conectarme y ejecute la misma secuencia cambiando el
"&&" por un ";"

==========
      $ sudo su - genera -c "cd /home/genera/multibox/ ; nohup
./mb_nix >> /tmp/vhs.txt 2>&1  &"
      $ ps aux | grep mb_nix
      genera   15630 pts/0    S    12:36   0:00 ./mb_nix
==========

como se puede observar ahora, tengo solamente un proceso ejecutando..
y cuando hago un logout.. me sale correctamente del sistema y regreso
a mi consola local..

pero cual es la diferencia entre el "&&" y ";" ??
no deberia de haber ejecutado el primer comando (cd
/home/genera/multibox/) y verificado se esta OK (&&) y pasado al segun
comando (nohup ./mb_nix >> /tmp/vhs.txt 2>&1  &) olvidando/terminando
el primer ???

salu2

-- 
-- 
Victor Hugo dos Santos
Linux Counter #224399



Más información sobre la lista de distribución Linux