Problema con cron, y ubuntu...

Hola a tod@s

Tenía un ubuntu 9.10 desde hace mucho tiempo, lo tuve que actualizar a la nueva versión por motivos de trabajo (12.04 si la memoria no me falla), y todo fue bien hasta que vi que no me va el corn.

He probado a cambiar de sitio el /etc/crontab, a /etc/cron.daily sin éxito, ¿alguna idea? Ha cambiado algo del cron en esas versiones?
Gracias

PD: no lo pongo en el hilo de ubuntu porque creo que no es tema sólo de ubuntu, sino del cron.
¿Cómo has añadido las tareas del cron? ¿Editando el /etc/crontab o con crontab -e?

Eso de cambiar de sitio el crontab me suena raro, /etc/crontab tiene una sintaxis concreta mientras que en /etc/cron.daily lo que pones son directamente los scripts.
kornshell escribió:¿Cómo has añadido las tareas del cron? ¿Editando el /etc/crontab o con crontab -e?

Eso de cambiar de sitio el crontab me suena raro, /etc/crontab tiene una sintaxis concreta mientras que en /etc/cron.daily lo que pones son directamente los scripts.


He editado el /etc/crontab con el nano, de hecho todo el problema vino cuando se actualizo el ubuntu.
Mira los logs de /var/log/syslog, ahí estarán las ejecuciones de las entradas del cron.

¿Has probado con algún comando sencillo en el crontab que puedas verificar rápidamente si se ha ejecutado? Por ejemplo un ls redireccionado a un archivo.
Si estás lanzando scripts desde cron puede (si antes funcionaba no debería, pero tal vez) que ahora esté fallando por problemas de permisos en la ejecución de esos scripts.

Puedes mirar también por si acaso que el demonio cron esté corriendo:

# status cron

Lo que es el cron en sí hasta donde yo se no ha cambiado.
Mi syslog dice esto:
Sep 27 07:51:04 admin-pc rsyslogd: [origin software="rsyslogd" swVersion="4.2.0" x-pid="603" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'lightweight'.
Sep 27 07:51:06 admin-pc anacron[23554]: Job `cron.daily' terminated
Sep 27 07:51:06 admin-pc anacron[23554]: Normal exit (1 job run)
Sep 27 08:09:01 admin-pc CRON[23800]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete)
Sep 27 08:39:01 admin-pc CRON[23814]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete)
Sep 27 08:59:21 admin-pc dhclient: DHCPREQUEST of 172.XX.XX.XX on eth0 to 172.XX.XX.XX port 67
Sep 27 08:59:21 admin-pc dhclient: DHCPACK of 172.XX.XX.XX from 172.XX.XX.XX
Sep 27 08:59:21 admin-pc dhclient: bound to 172.XX.XX.XX -- renewal in 10233 seconds.
Sep 27 09:09:01 admin-pc CRON[23835]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete)


Y mi crontab es este:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user   command
17 *   * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6   * * *   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6   * * 7   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6   1 * *   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
55 8,11,15    * * *   root    cips.sh
16 13 * * * root cips.sh
00 17 * * 5 halt

#


Como puede ver he probado el comando halt sin éxito, los permisos lo mirare ahora, y respecto al "status cron" me dice que fucniona bien: cron start/running, process 1094

Un saludo!!!
Si añades jobs editando el /etc/crontab a mano tienes que incluir el usuario con el que se va a ejecutar el comando. La sintaxis sin usuario es para "crontab -e", que te crea los jobs en /var/spool/cron/crontabs para el usuario con el que abres el editor de jobs de cron.

Acabo de probar a añadir la siguiente línea al /etc/crontab:

06 10 * * 5 touch /tmp/crontest.txt


Y no funciona pero si en cambio añado esto, sí:

08 10 * * 5 root touch /tmp/crontest.txt


Si te está fallando la ejecución del script cips.sh, asegúrate de que está en el path que aparece indicado al principio del archivo crontab (o prueba con la ruta absoluta al script) y que está marcado como ejecutable (o también puedes probar a poner "sh /ruta/a/cips.sh").
El problema era la falta de ruta del archivo. cosa bastante rara pero que supongo que sera cosa de la actualización. Ya funciona bien.
Muchas Gracias!!!
6 respuestas