Много потенциальных вещей с моей головы.
Вы уверены, что запись в crontab действительно указывает на ваш скрипт? Например, если вы хотите запустить скрипт, такой как ~ noc / bin / script.sh, но иметь запись типа / home / noc / bin / script (т. Е. Неуловимая опечатка), то, конечно, он не будет работать. Я обычно проверяю свои записи в crontab, копируя команду из crontab с помощью мыши, а затем вставляя ее в командную строку, просто чтобы быть на 100% уверенным, что она будет работать так, как я хочу.
Ваш скрипт содержит только указанную строку? Обычно вы должны включить что-то вроде:
#!/bin/bash
... в верхней части вашего скрипта, чтобы заставить его работать.
Если это сложнее, чем одиночная строка, вы уверены, что логика программирования позволит ей запускать эту конкретную строку?
Попробуйте уменьшить ваш скрипт до
#!/bin/bash echo "Bing!" >> /tmp/cronjob
... чтобы увидеть, что происходит. Если это работает, у вас есть проблема с программированием в вашем скрипте cron. Если это не удается, у вас есть проблема cron.
Является ли пользователь 'noc' сценарием? Если нет, то уверены ли вы, что пользователь, выполняющий скрипт cron, имеет доступ на чтение / запись через / home / noc к файлу email.log?
Куда отправляется сообщение об ошибке от пользователя, запустившего cronjob? Генерируется ли сообщение об ошибке, а затем отправляется куда-то, чего вы не ожидаете, или, возможно, его вообще сбрасывают? Попробуйте cronjob из
#!/bin/bash echo "Bing!"
... а затем попытайтесь выяснить, куда отправляется электронная почта.
Cron.deny и / или cron.allow в игре? Если /etc/cron.allow существует, то в нем должен быть указан пользователь noc; если /etc/cron.deny существует. пользователь noc не должен быть указан в нем. В RedHat, если не существует ни cron.allow, ни cron.deny, ТОЛЬКО пользователь root может использовать cron.