Muitas coisas potenciais fora do topo da minha cabeça.
Tem certeza de que a entrada do crontab está realmente apontando para o seu script? Por exemplo, se você quer rodar um script como ~ noc / bin / script.sh , mas tem uma entrada como / home / noc / bin / script (ie um erro sutil), então é claro que não vai funcionar. Eu costumo verificar minhas entradas crontab, copiando o comando de crontab com o meu mouse, em seguida, colá-lo em um prompt de comando, apenas para ter 100% de certeza de que ele vai executar o que eu quero.
O seu script contém apenas a linha indicada? Normalmente você tem que incluir algo como:
#!/bin/bash
... no topo do seu script para que ele funcione.
Se for mais complicado do que a linha única, você tem certeza de que a lógica de programação permitirá que ela rode aquela linha em particular?
Tente reduzir seu script para
#!/bin/bash
echo "Bing!" >> /tmp/cronjob
... para ver o que acontece. Se isso funcionar, você tem um problema de programação no script do cron. Se falhar, você tem um problema com o cron.
O usuário 'noc' é quem está executando o script? Caso contrário, você tem certeza de que o usuário que está executando o script cron tem acesso de leitura / gravação por meio de / home / noc ao arquivo email.log?
Onde está o e-mail de erro do usuário que está executando o cronjob? Um e-mail de erro está sendo gerado e, em seguida, ser enviado para algum lugar em que você não esteja esperando ou talvez seja abandonado completamente? Tente um cronjob de
#!/bin/bash
echo "Bing!"
... e tente descobrir onde o e-mail gerado é gerado.
São cron.deny e / ou cron.allow em jogo? Se /etc/cron.allow existe, então o usuário noc deve estar listado nele; se /etc/cron.deny existir. o usuário noc deve não estar listado nele. Em RedHat, se nem o cron.allow nem o cron.deny existirem, então SOMENTE o usuário root terá permissão para usar o cron.