¿RHEL / CentOS ejecuta todos los archivos cronjob en /etc/cron.d/*, o solo algunos de ellos?


19

Este es un sistema Red Hat Enterprise Linux 5 (RHEL). Gestionamos este sistema usando CFengine.

Tenemos varios cronjobs que se ejecutan el doble de veces que de costumbre. Revisé los cronjobs debajo /etc/cron.d/y este directorio contiene el script real llamado host-backup, y también contiene un archivo de copia de seguridad cfengine llamado host-backup.cfsaved, así:

/etc/cron.d/host-backup
/etc/cron.d/host-backup.cfsaved

¿Este sistema operativo ejecuta todos los archivos /etc/cron.d/*o solo ejecuta archivos que coinciden con cierto patrón? ¿Puedo configurar esto y dónde está definido?

No puedo encontrar esta respuesta en la documentación de RHEL o CentOS.

Respuestas:


20

(Si está pagando por el soporte de Red Hat, debe hacerles este tipo de preguntas. ¡Esto es exactamente lo que está pagando!)

Desde la crontab(5)página de manual de RHEL5 :

Si existe, el /etc/cron.d/directorio se analiza como el directorio cron spool, excepto que los archivos que contiene no son específicos del usuario y, por lo tanto, se leen con /etc/crontabsintaxis (el usuario se especifica explícitamente en la sexta columna).

(¿Existe una forma más sencilla de leer las páginas de manual de RHEL sin tener acceso a ella? Al menos de esta manera pude ver que este párrafo es parte del parche de Red Hat, por lo que no es una característica estándar de Vixie Cron 4.1).

En cuanto a la fuente, veo que los archivos siguientes se omiten: .*, #*, *~. *.rpmnew, *.rpmorig, *.rpmsave. Entonces sí, sus *.cfsavedarchivos se leen además de los originales.


Hola Giles, gracias. Encontré exactamente esa misma sintaxis vixie-cron-4.1-77.el5_4.1.src.rpm. Irónicamente, este texto NO se incluye en ninguna de las páginas de manual para cron y no se incluye con ningún archivo de texto en el sistema. No estoy seguro de por qué, pero es un tema para otra discusión.
Stefan Lasiewski el


@Giles: Tú ganas. La fuente RedHat debe contener la respuesta definitiva. En este caso, (la fuente parece diferir de los archivos instalados) [unix.stackexchange.com/questions/4815], pero ese es un tema diferente.
Stefan Lasiewski

6

Aquí está la respuesta del soporte de RedHat:

Tenga en cuenta que todos los archivos en el directorio cron.d se examinan y ejecutan, es básicamente una extensión del archivo / etc / crontab (es decir, el mismo efecto si agrega las entradas al archivo / etc / crontab)

Entonces, para responder a mi pregunta "¿Este sistema operativo ejecuta todos los archivos en /etc/cron.d/*, o solo ejecuta archivos que coinciden con un cierto patrón. ¿Puedo configurar esto y dónde está definido?"

Todos los archivos bajo /etc/cron.d/* se ejecutan (aunque parece que ciertas extensiones de archivo como .rpmsave, * ~, etc. se ignoran, según la documentación en los archivos fuente). No es posible configurar esto a través de un archivo de configuración. Es probable que esto sea posible si la fuente se vuelve a compilar. Este comportamiento se menciona en la documentación contenida en la fuente, pero no aparece en ningún manual o página de manual que pueda encontrar.


5

Creo que la razón por la que ha tenido dificultades para rastrear la respuesta es que no es una pregunta específica de Red Hat. El problema que está viendo es parte de la funcionalidad estándar de cron: cada archivo en el directorio que identifica se trata automáticamente como un trabajo separado .

Entonces, la respuesta corta a su pregunta es "sí, todos los archivos se ejecutan". Esto no es algo que creo que se pueda configurar.


2
Hay diferentes implementaciones de cron. Debian y Ubuntu se envían con Vixie Cron (3.0), y su manejo cron.dse describe en su página de manual . RHEL se entrega con ISC cron 4.1 (una bifurcación del mismo proyecto), y la página del manual (al menos en CentOS ) no menciona cron.d.
Gilles 'SO- deja de ser malvado'

1
@Gilles: Gracias por los consejos. Estoy usando Fedora, que tiene instalado Cronie (también una bifurcación de Vixie / ISC Cron). La página de manual menciona /etc/cron.dcomo una de las rutas de búsqueda. Pido disculpas si no hubo suficientes detalles en mi respuesta; estoy razonablemente seguro de que esto también debería aplicarse a Red Hat. Avíseme si ese no es el caso
mlschechter

1
Después de analizarlo, esta es precisamente una pregunta específica de Red Hat (vea mi respuesta). Es tan específico de Red Hat que incluso CentOS es diferente, y Fedora probablemente también sea diferente (pero no lo he comprobado).
Gilles 'SO- deja de ser malvado'

1
@Gilles: perdón por la demora en responder. A partir de Red Hat EL 5 , Red Hat usa vixie-cron. RHEL 6 usa cronie. Después de revisar la documentación de RHEL 5, creo que confirma mi conclusión original (si se obtiene de manera incorrecta). Nuevamente, gracias por toda la ayuda para cavar para esto.
mlschechter
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.