it-swarm-es.com

Los crons por hora y por día no se están ejecutando

Me di cuenta de que los crons por hora y por día no se están ejecutando, los moví a crontab y todo está bien:

#!/bin/bash

now=$(date)
echo 'It is '$now

La línea de comando:

# run-parts --test /etc/cron.hourly

devuelto en blanco

EDITAR:

# ls -lsAF
total 8
4 -rw-r--r-- 1 root root 102 Apr  2  2012 .placeholder
4 -rwxr-xr-x 1 root root 254 Mar 18 06:52 testEcho*

Antes de que el nombre fuera "testEcho **. Sh **", le cambié el nombre a "testEcho"

# run-parts --test /etc/cron.hourly
/etc/cron.hourly/testEcho

Ahora que se ha devuelto el valor, lo probaré y me pondré en contacto con usted.

Gracias por adelantado

1
Abu Rayane

Los trabajos por hora y por día (y también semanalmente, mensualmente) cron son ejecutados por run-parts comando. Mi /etc/crontab tiene:

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Lo que hay que tener en cuenta es que run-parts es muy sensible a los nombres de archivo. Desde man run-parts:

Si no se da la opción --lsbsysinit ni la opción --regex, entonces los nombres deben consistir enteramente en ASCII letras mayúsculas y minúsculas, ASCII) dígitos, ASCII guiones bajos, y ASCII menos guiones.

Entonces, como el archivo se llama testEcho**.sh**, falla la comprobación de nombre de run-parts y por lo tanto run-parts lo ignora.

Debe cambiar el nombre del archivo (s) para cumplir con el run-parts política de nomenclatura o puede ejecutar los archivos directamente agregando una entrada relevante en crontab.

1
heemayl