Ayuda con la configuración del crontab!!!!!!!!!!!!!!!!!!!!!!

Imagen de ilyeyo

Forums: 

Resulta que instalé Zoneminder1.22 sobre Ubuntu6.06, todo funciona bien, pero necesito que en ciertos horarios la cámara cambie su estado de monitoreo a detección de movimiento (modect), para lo cual generé un archivo .sh que contiene la sentencia zmpkg.pl 'modectdcs900', modectdcs900 es el estado que creé para la cámara, al ejecutar el .sh funciona muy bien, pero al configurarlo en el crontab no cambia el estado, hago pruebas varias en el crontab y funcionan correctamente, supongo que el problema se dá al ejecutar un archivo perl desde el crontab.

Las sgtes. son configuraciones de crontab que he probado y no me han dado resultado :-(

# m h dom mon dow command
30 11 * * 1-5 /root/ZoneMinder-1.22.2/cron/allmonitor.sh
25 18 * * 1-5 /root/ZoneMinder-1.22.2/cron/modectdcs900.sh
0 0 * * 6-7 /root/ZoneMinder-1.22.2/cron/modectdcs900.sh

30 11 * * 1-5 /root/ZoneMinder-1.22.2/cron/allmonitor.sh
0 19 * * 1-5 zmpkg.pl 'modectdcs900'
0 0 * * 6-7 /root/ZoneMinder-1.22.2/cron/modectdcs900.sh

26 12 * * 5 /usr/bin/perl /root/ZoneMinder-1.22.2/scripts/zmpkg.pl 'modectdcs9$
10 10 * * 1-5 zmpkg.pl 'modectdcs900'
16 10 * * 1-5 root /root/ZoneMinder-1.22.2/scripts/zmpkg.pl 'modectdcs900'
51 10 * * 1-5 root /root/ZoneMinder-1.22.2/cron/./modectdcs900.sh
48 10 * * 1-5 mkdir /root/ZoneMinder-1.22.2/cron/prueba

Para usar estas configuraciones me he basado en investigaciones que he realizado, pero lamentablemente aún no puedo realizar el cambio de estado.

Espero que traigan luz en este caso........:-)

Saludos.....

Prueba creando un script en

Imagen de deathUser

Prueba creando un script en shell que llame al script en perl con los parámetros y que te guarde la salida (estandar y de error) a un archivo de log a ver que es lo que está ocurriendo ...

bye
:)

Valores en las variables de ambiente

Probablemente el cuando haces las pruebas, el script debe usar variables de ambiente que no están definidas cuando se ejecuta con a la hora prevista en el cron. Cron solo define unas pocas: SHELL, HOME, LOGNAME, MAILTO, y pocas más que no me acuerdo en este momento, por lo que deberías definir todo lo necesario en el mismo script.

¿Qué sale en el log que te sugurió "deathUser"?

PPT

Creé el .log pero no muestra nada en el archivo

Imagen de ilyeyo

Agregué en el crontab lo sgte.:
30 14 * * 1-5 /root/ZoneMinder-1.22.2/cron/modectdcs900.sh > /etc/prueba/zm.log

y el archivo se creó en blanco :-(

nada por ese lado...........y ahora???
El shell solo contiene la sgte. línea: zmpkg.pl 'modectdcs900'
modectdcs900 es un estado que creé dentro del zoneminder propiamente.

No redireccionaste el error estandar ...

Imagen de deathUser

[quote=MagodeOz]Agregué en el crontab lo sgte.:
30 14 * * 1-5 /root/ZoneMinder-1.22.2/cron/modectdcs900.sh > /etc/prueba/zm.log
[/quote]
Te había sugerido que redirecciones la salida estandar y la de error.

Prueba lo siguiente
[quote=MagodeOz]Agregué en el crontab lo sgte.:
30 14 * * 1-5 /root/ZoneMinder-1.22.2/cron/modectdcs900.sh > /etc/prueba/zm.log 2>&1
[/quote]

Y mira si se crea algo en el log, adicionalmente revisa las variables de entorno usadas dentro del script como ya te sugirieron en un post anterior...

bye
:)

Me generó lo sgte.

Imagen de ilyeyo

El zm.log mostró lo sgte.:

/root/ZoneMinder-1.22.2/cron/modectdcs900.sh: line 2: zmpkg.pl: command not found

no entiendo por que al ejecutar manualmente el shell si funca y en crontab no..........

Gracias por la paciencia :-)

Es algo que siempre hay que

Imagen de deathUser

Es algo que siempre hay que tener en cuenta, el entorno no suele ser el mismo que usamos sino uno bastante más limitado, ojo para todos los Linux Users que quieren automatizar cosas con el crontab o mecanismos similares, siempre asegurense del entorno en el que van a correr sus comandos.

bye
:)