¿Por qué se ignoran los nuevos cronjobs a menos que se reinicie crond en SLES?

¿Por qué se ignoran los nuevos cronjobs a menos que se reinicie crond en SLES?

Agregué un nuevo cronjob con un usuario (SUSE LINUX Enterprise Server 9.4):

# su - XXX
$ crontab -e

y esto es lo que agregué:

* * * * * echo `date` >> /home/XXX/a.txt

pero el a.txt no se crea... SÓLO se creará cuando root reinicie el crond...

P:¿Por qué?

ACTUALIZAR:

machine:~ # chage -l XXX
Minimum:    1
Maximum:    99999
Warning:    7
Inactive:   -1
Last Change:        Apr 11, 2011
Password Expires:   Never
Password Inactive:  Never
Account Expires:    Never
machine:~ # 

para que el usuario o su contraseña no caduquen.

ACTUALIZACIÓN: versión cron:

cron-3.0.1-920.18

y traté de agregar un nuevo crontab al usuario root... es lo mismo :D los nuevos cronjobs root tampoco se están ejecutando... :Dparece que "crontab -e" no recarga CROND o algo así...

Respuesta1

Probé el código anterior y funcionó bien en Red Hat Fedora 14.

* * * * * echo `date` >> /home/saml/a.txt

Salida del archivo:

$ tail -f a.txt 
Fri Oct 4 14:38:01 EDT 2013
Fri Oct 4 14:39:01 EDT 2013
Fri Oct 4 14:40:01 EDT 2013

Cosas para probar

  1. ¿Puede confirmar que el crondservicio se está ejecutando?

    $ sudo service --status-all |& grep crond
    crond (pid  1673) is running...
    
  2. Confirme la configuración del directorio de cola de cron.

    $ rpm -qf $(type -P /usr/sbin/crond)
    cronie-1.4.8-2.fc14.x86_64
    
    $ rpm -ql cronie | grep '/var'
    /var/spool/cron
    

    Enumere cualquiera que sea su directorio, estamos verificando su existencia y permisos aquí:

    $ sudo ls -ld /var/spool/cron/
    drwx------. 2 root root 4096 Oct  4 14:37 /var/spool/cron/
    
    $ sudo ls -l /var/spool/cron/
    total 4
    -rw------- 1 root root  0 Sep 16 23:47 root
    -rw------- 1 saml root 42 Oct  4 14:37 saml
    
  3. SELinux

    ¿Los cronjob tienen acceso a través de SELinux para escribir en su directorio /home/XXX?

    Una prueba rápida sería desactivar temporalmente la aplicación de SELinux para ver si resuelve su problema.

    $ getenforce
    Disabled
    

    Si está habilitado, deshabilítelo:

    $ sudo setenforce 0
    

Respuesta2

strace crontab -e

Lo resolvió... no sé cómo... pero funciona ahora... pero todo lo que quería hacer es verificar las "operaciones" de bajo nivel de crontabs.

información relacionada