/etc/crontab ou qualquer usuário crontab não está sendo executado

/etc/crontab ou qualquer usuário crontab não está sendo executado

Meu servidor é CentOS 5. Quando edito /etc/crontab ou edito qualquer usuário (incluindo root) crontab por meio do comando "crontab -e", ele apenas adiciona "(sistema) RELOAD (/etc/crontab)" ou "(admin) RELOAD (cron/admin)" no log. Nenhum CMD no /var/log/cron.

Exemplo de entrada em /var/log/cron:

Aug 10 10:21:33 localhost crontab[31688]: (root) BEGIN EDIT (root)
Aug 10 10:21:42 localhost crontab[31688]: (root) REPLACE (root)
Aug 10 10:21:42 localhost crontab[31688]: (root) END EDIT (root)
Aug 10 10:22:01 localhost crond[2688]: (root) RELOAD (cron/root)

Resultado do "status crond do serviço":

crond (pid 1345) is running...

O comando "cat /var/log/messages | grep cron" não dá nada.

Conteúdo de /etc/cron.allow:

admin
root

Conteúdo de /etc/crontab:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
* * * * * root run-parts /bin/date >> /data/date.txt

Resultado de ps aux |grep cron:

root      1345  0.0  0.1   5268  1204 ?        Ss   11:43   0:00 crond

Conteúdo do crontab do administrador:

* * * * * /bin/date >> /data/date.txt

Observe que não é apenas o crontab do administrador que não está em execução. Todos os cron jobs não estão em execução.

Alguma idéia de por que eles não estão funcionando?

Responder1

Verifique se você não possui um arquivo /etc/cron.allow ou /etc/cron.deny fazendo com que os trabalhos sejam ignorados.

Se /etc/cron.allow não estiver lá, todos poderão executar tarefas cron. Se estiver lá, mas vazio, não tenho certeza se isso permite que alguém execute tarefas cron.

Responder2

Há um erro no seu crontab, veja:

 * * * * * root run-parts /bin/date >> /data/date.txt

Você invoca run-parts com o diretório /bin/date - certamente isso falhará. O erro vai para stderr e não é armazenado em cache por>>

Responder3

Crie o arquivo nomeado /etc/cron.allowse ele não existir e adicione o nome de usuário a ele.

Responder4

Embora a resposta para esta pergunta tenha sido aceita, gostaria de acrescentar o que funcionou para mim. é uma boa ideia citar a URL, se ela contiver uma consulta pode não funcionar sem que tudo seja citado.

NÃO SE ESQUEÇA DE COLOCAR SEU URL QUE CONTÉM "?, =, #, %" EM UMA CITAÇÃO.

Exemplo. https://paystack.com/indexphp?docs/api/#transaction-charge-authorization&date=today deve estar em uma citação como "https://paystack.com/indexphp?docs/api/#transaction-charge-authorization&date=today"

informação relacionada