Por que os novos cronjobs são ignorados, a menos que o crond seja reiniciado no SLES?

Por que os novos cronjobs são ignorados, a menos que o crond seja reiniciado no SLES?

Adicionei um novo cronjob com um usuário (SUSE LINUX Enterprise Server 9.4):

# su - XXX
$ crontab -e

e foi isso que adicionei:

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

mas o a.txt não foi criado... ele será criado SOMENTE quando o root reiniciar o crond...

P:Por que?

ATUALIZAR:

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 o usuário ou sua senha não expire.

ATUALIZAÇÃO: versão cron:

cron-3.0.1-920.18

e tentei adicionar um novo crontab ao usuário root .. é a mesma coisa :D os novos cronjobs root também não estão rodando .. :Dparece que "crontab -e" não recarrega o CROND ou algo assim...

Responder1

Tentei o código acima e funcionou bem no Red Hat Fedora 14.

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

Saída do arquivo:

$ 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

Coisas para tentar

  1. Você pode confirmar se o crondserviço está funcionando:

    $ sudo service --status-all |& grep crond
    crond (pid  1673) is running...
    
  2. Confirme a configuração do diretório de spool do cron.

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

    Liste qualquer que seja o seu diretório, estamos verificando a existência e as permissões aqui:

    $ 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

    Os cronjobs têm acesso via SELinux para gravar em seu diretório /home/XXX?

    Um teste rápido seria desabilitar temporariamente a aplicação do SELinux para ver se isso resolve o seu problema.

    $ getenforce
    Disabled
    

    Se estiver ativado, desative-o:

    $ sudo setenforce 0
    

Responder2

strace crontab -e

resolvi ... não sei como .. mas funciona agora .. mas tudo que eu queria fazer é verificar as "operações" de baixo nível do crontabs.

informação relacionada