/etc/crontab o cualquier crontab de usuario no se está ejecutando

/etc/crontab o cualquier crontab de usuario no se está ejecutando

Mi servidor es CentOS 5. Cuando edito /etc/crontab o edito el crontab de cualquier usuario (incluido el root) mediante el comando "crontab -e", simplemente agrega "(sistema) RELOAD (/etc/crontab)" o "(admin) RELOAD (cron/admin)" en el registro. No hay CMD en /var/log/cron.

Entrada de ejemplo en /var/log/cron:

Aug 10 10:21:33 localhost crontab[31688]: (root) BEGIN EDIT (root)
Aug 10 10:21:42 localhost crontab[31688]: (root) REPLACE (root)
Aug 10 10:21:42 localhost crontab[31688]: (root) END EDIT (root)
Aug 10 10:22:01 localhost crond[2688]: (root) RELOAD (cron/root)

Resultado del "estado crond del servicio":

crond (pid 1345) is running...

El comando "cat /var/log/messages | grep cron" no proporciona nada.

Contenido de /etc/cron.allow:

admin
root

Contenido de /etc/crontab:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
* * * * * root run-parts /bin/date >> /data/date.txt

Resultado de ps aux |grep cron:

root      1345  0.0  0.1   5268  1204 ?        Ss   11:43   0:00 crond

Contenido del crontab del administrador:

* * * * * /bin/date >> /data/date.txt

Tenga en cuenta que no es solo el crontab del administrador el que no se está ejecutando. No todos los trabajos cron se están ejecutando.

¿Alguna idea de por qué no se están ejecutando?

Respuesta1

Compruebe que no tiene un archivo /etc/cron.allow o /etc/cron.deny que provoque que se ignoren los trabajos.

Si /etc/cron.allow no está ahí, todos pueden ejecutar trabajos cron. Si está ahí pero está vacío, no estoy seguro de si eso permite a alguien ejecutar trabajos cron.

Respuesta2

Hay un error en tu crontab, mira:

 * * * * * root run-parts /bin/date >> /data/date.txt

Invocas run-parts con el directorio /bin/date; seguramente esto fallará. El error va a stderr y no se almacena en caché>>

Respuesta3

Cree el archivo nombrado /etc/cron.allowsi no existe y agréguele el nombre de usuario.

Respuesta4

Aunque se aceptó la respuesta para esta pregunta, me gustaría agregar lo que funcionó para mí. Es una buena idea citar la URL; si contiene una consulta, es posible que no funcione sin que se cite todo.

NO OLVIDES PONER TU URL QUE CONTIENE "?, =, #, %" ENTRE COTIZACIÓN.

Ejemplo. https://paystack.com/indexphp?docs/api/#transaction-charge-authorization&date=today debe estar entre comillas como "https://paystack.com/indexphp?docs/api/#transaction-charge-authorization&date=today"

información relacionada