¿Por qué cron.weekly no se ejecuta?

8

Cuando noté que el script de copia de seguridad que coloqué en /etc/cron.weekly en mi servidor Debian6 no se ejecuta, coloqué este pequeño script en él, para ver si el cronjob semanal se ejecutaba en absoluto:

#!/bin/bash
echo 'CRON RAN' > /var/log/cron-weekly-runcheck.log

lo guardé como

-rwxr-xr-x 1 root root 64 Jul 15 02:14 /etc/cron.weekly/runcheck.sh

Cuando revisé hoy, el archivo de registro que se suponía que debía crear no existía.
El crontab tiene el siguiente aspecto (que, según mi conocimiento, debería ser el crontab predeterminado de debian6):

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    * * 1   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 )

Todo lo que aparece del cronjob semanal en cualquier archivo de registro es esta línea:

Jul 16 06:47:01 wtwrp /USR/SBIN/CRON[29272]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))

Nota cron.dailyal margen : parece funcionar ya que logrotate funciona. cron.hourlyno tiene guiones en el mismo.

¿Alguna idea sobre lo que podría estar yendo mal?

Cobra_Rápido
fuente
Verifique el correo de la raíz para ver si hay mensajes de salida y potencialmente de error. Se puede encontrar en /var/spool/mail/rootsi aún no se ha /etc/aliasesconfigurado para reenviar el correo raíz en algún lugar donde se pueda leer.
Ladadadada
@Ladadadada buena idea! Lamentablemente, no hay absolutamente nada preocupante cron.weeklyallí.
Cobra_Fast

Respuestas:

18

Los cron.weeklyscripts se inician por lo run-partsque omite todos los archivos con extensión. Cambiar el nombre runcheck.sha runchecky debería hacer

krissi
fuente
44
Ese es el tipo de cosas que solo te atrapan una vez que apuesto.
user9517
1

comm1 || comm2 || comm3 || comm4

se ejecutará hasta que se devuelva el primer retval = 0 (de izquierda a derecha). El resto de los comandos encadenados están optimizados por el intérprete y NO se ejecutan en absoluto.

Si test -x /usr/sbin/anacrondevuelve cero como retval, no se ejecutarán otros comandos.

Kondybas
fuente